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.
Files changed (515) hide show
  1. checksums.yaml +7 -0
  2. data/lib/base_gusto.rb +175 -0
  3. data/lib/core/file_utilities.rb +27 -0
  4. data/lib/environment.rb +9 -0
  5. data/lib/fern_gusto/ach_transactions/client.rb +119 -0
  6. data/lib/fern_gusto/admins/types/admin.rb +82 -0
  7. data/lib/fern_gusto/companies/attachments/client.rb +335 -0
  8. data/lib/fern_gusto/companies/attachments/types/attachments_create_request_category.rb +15 -0
  9. data/lib/fern_gusto/companies/attachments/types/attachments_get_download_url_response.rb +56 -0
  10. data/lib/fern_gusto/companies/bank_accounts/client.rb +435 -0
  11. data/lib/fern_gusto/companies/bank_accounts/types/bank_accounts_create_request_account_type.rb +15 -0
  12. data/lib/fern_gusto/companies/benefits/client.rb +862 -0
  13. data/lib/fern_gusto/companies/client.rb +1104 -0
  14. data/lib/fern_gusto/companies/departments/client.rb +587 -0
  15. data/lib/fern_gusto/companies/departments/types/departments_add_people_request_contractors_item.rb +59 -0
  16. data/lib/fern_gusto/companies/departments/types/departments_add_people_request_employees_item.rb +59 -0
  17. data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_contractors_item.rb +59 -0
  18. data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_employees_item.rb +59 -0
  19. data/lib/fern_gusto/companies/employees/client.rb +376 -0
  20. data/lib/fern_gusto/companies/external_payrolls/client.rb +605 -0
  21. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item.rb +98 -0
  22. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_benefits_item.rb +79 -0
  23. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item.rb +87 -0
  24. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item_earning_type.rb +15 -0
  25. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_taxes_item.rb +69 -0
  26. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_tax_liabilities_request_liability_selections_item.rb +80 -0
  27. data/lib/fern_gusto/companies/federal_tax_details/client.rb +212 -0
  28. data/lib/fern_gusto/companies/federal_tax_details/types/federal_tax_details_update_request_tax_payer_type.rb +25 -0
  29. data/lib/fern_gusto/companies/forms/client.rb +345 -0
  30. data/lib/fern_gusto/companies/industry_selection/client.rb +207 -0
  31. data/lib/fern_gusto/companies/locations/client.rb +417 -0
  32. data/lib/fern_gusto/companies/pay_schedules/client.rb +377 -0
  33. data/lib/fern_gusto/companies/payment_configs/client.rb +198 -0
  34. data/lib/fern_gusto/companies/payment_configs/types/payment_configs_update_request_payment_speed.rb +19 -0
  35. data/lib/fern_gusto/companies/signatories/client.rb +513 -0
  36. data/lib/fern_gusto/companies/signatories/types/signatories_create_request_home_address.rb +89 -0
  37. data/lib/fern_gusto/companies/signatories/types/signatories_update_request_home_address.rb +88 -0
  38. data/lib/fern_gusto/companies/tax_requirements/client.rb +367 -0
  39. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_list_response_item.rb +75 -0
  40. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item.rb +88 -0
  41. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item_requirements_item.rb +70 -0
  42. data/lib/fern_gusto/companies/types/companies_accept_terms_response.rb +56 -0
  43. data/lib/fern_gusto/companies/types/companies_create_request_company.rb +83 -0
  44. data/lib/fern_gusto/companies/types/companies_create_request_user.rb +81 -0
  45. data/lib/fern_gusto/companies/types/companies_create_response.rb +82 -0
  46. data/lib/fern_gusto/companies/types/companies_get_custom_fields_response.rb +59 -0
  47. data/lib/fern_gusto/companies/types/companies_migrate_to_embedded_payroll_response.rb +68 -0
  48. data/lib/fern_gusto/companies/types/companies_retrieve_terms_response.rb +56 -0
  49. data/lib/fern_gusto/companies/types/company.rb +223 -0
  50. data/lib/fern_gusto/companies/types/company_company_status.rb +21 -0
  51. data/lib/fern_gusto/companies/types/company_compensations.rb +85 -0
  52. data/lib/fern_gusto/companies/types/company_compensations_fixed_item.rb +55 -0
  53. data/lib/fern_gusto/companies/types/company_compensations_hourly_item.rb +65 -0
  54. data/lib/fern_gusto/companies/types/company_compensations_paid_time_off_item.rb +55 -0
  55. data/lib/fern_gusto/companies/types/company_entity_type.rb +23 -0
  56. data/lib/fern_gusto/companies/types/company_funding_type.rb +15 -0
  57. data/lib/fern_gusto/companies/types/company_onboarding_status.rb +77 -0
  58. data/lib/fern_gusto/companies/types/company_onboarding_status_onboarding_steps_item.rb +97 -0
  59. data/lib/fern_gusto/companies/types/company_pay_schedule_type.rb +15 -0
  60. data/lib/fern_gusto/companies/types/company_primary_payroll_admin.rb +80 -0
  61. data/lib/fern_gusto/companies/types/company_primary_signatory.rb +100 -0
  62. data/lib/fern_gusto/companies/types/company_primary_signatory_home_address.rb +93 -0
  63. data/lib/fern_gusto/companies/types/company_tier.rb +20 -0
  64. data/lib/fern_gusto/company_attachment/types/company_attachment.rb +81 -0
  65. data/lib/fern_gusto/company_attachment/types/company_attachment_category.rb +13 -0
  66. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account.rb +157 -0
  67. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_account_type.rb +13 -0
  68. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_plaid_status.rb +14 -0
  69. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_status.rb +19 -0
  70. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_type.rb +17 -0
  71. data/lib/fern_gusto/company_benefits/types/benefit_summary.rb +104 -0
  72. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees.rb +113 -0
  73. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits.rb +107 -0
  74. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits_pay_period.rb +67 -0
  75. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements.rb +156 -0
  76. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up.rb +86 -0
  77. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up_default_value.rb +67 -0
  78. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum.rb +88 -0
  79. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum_default_value.rb +68 -0
  80. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution.rb +86 -0
  81. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution_default_value.rb +67 -0
  82. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount.rb +87 -0
  83. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount_default_value.rb +67 -0
  84. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier.rb +88 -0
  85. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier_default_value.rb +67 -0
  86. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage.rb +88 -0
  87. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage_default_value.rb +67 -0
  88. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction.rb +88 -0
  89. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction_default_value.rb +67 -0
  90. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option.rb +86 -0
  91. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option_default_value.rb +67 -0
  92. data/lib/fern_gusto/contractor/types/contractor_onboarding_info.rb +78 -0
  93. data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_status.rb +14 -0
  94. data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_steps_item.rb +88 -0
  95. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group.rb +145 -0
  96. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_payment_method.rb +15 -0
  97. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_status.rb +16 -0
  98. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_wage_type.rb +13 -0
  99. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group.rb +127 -0
  100. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal.rb +116 -0
  101. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_status.rb +16 -0
  102. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_totals.rb +74 -0
  103. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_status.rb +16 -0
  104. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_totals.rb +74 -0
  105. data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account.rb +94 -0
  106. data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account_account_type.rb +13 -0
  107. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method.rb +96 -0
  108. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_split_by.rb +15 -0
  109. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_type.rb +14 -0
  110. data/lib/fern_gusto/contractor_payments/types/contractor_payment.rb +146 -0
  111. data/lib/fern_gusto/contractor_payments/types/contractor_payment_payment_method.rb +15 -0
  112. data/lib/fern_gusto/contractor_payments/types/contractor_payment_status.rb +13 -0
  113. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary.rb +81 -0
  114. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates.rb +81 -0
  115. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_contractor_payments_item.rb +93 -0
  116. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_total.rb +67 -0
  117. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_contractor_payments_item.rb +86 -0
  118. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_total.rb +67 -0
  119. data/lib/fern_gusto/contractor_payments/types/contractor_payment_wage_type.rb +13 -0
  120. data/lib/fern_gusto/contractors/client.rb +1025 -0
  121. data/lib/fern_gusto/contractors/documents/client.rb +269 -0
  122. data/lib/fern_gusto/contractors/documents/types/documents_sign_request_fields_item.rb +67 -0
  123. data/lib/fern_gusto/contractors/forms/client.rb +343 -0
  124. data/lib/fern_gusto/contractors/payment_groups/client.rb +569 -0
  125. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item.rb +102 -0
  126. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item_payment_method.rb +15 -0
  127. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item.rb +102 -0
  128. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item_payment_method.rb +15 -0
  129. data/lib/fern_gusto/contractors/payment_method/client.rb +369 -0
  130. data/lib/fern_gusto/contractors/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
  131. data/lib/fern_gusto/contractors/payment_method/types/payment_method_update_request_type.rb +17 -0
  132. data/lib/fern_gusto/contractors/payments/client.rb +558 -0
  133. data/lib/fern_gusto/contractors/payments/types/payments_create_request_payment_method.rb +15 -0
  134. data/lib/fern_gusto/contractors/payments/types/payments_list_response.rb +62 -0
  135. data/lib/fern_gusto/contractors/types/contractor.rb +227 -0
  136. data/lib/fern_gusto/contractors/types/contractor_address.rb +94 -0
  137. data/lib/fern_gusto/contractors/types/contractor_onboarding_status.rb +18 -0
  138. data/lib/fern_gusto/contractors/types/contractor_type.rb +13 -0
  139. data/lib/fern_gusto/contractors/types/contractor_wage_type.rb +13 -0
  140. data/lib/fern_gusto/custom_fields/types/company_custom_field.rb +88 -0
  141. data/lib/fern_gusto/custom_fields/types/custom_field_type.rb +16 -0
  142. data/lib/fern_gusto/custom_fields/types/employee_custom_field.rb +104 -0
  143. data/lib/fern_gusto/documents/types/document.rb +167 -0
  144. data/lib/fern_gusto/documents/types/document_fields_item.rb +114 -0
  145. data/lib/fern_gusto/documents/types/document_pages_item.rb +65 -0
  146. data/lib/fern_gusto/documents/types/document_recipient_type.rb +15 -0
  147. data/lib/fern_gusto/documents/types/document_signed.rb +137 -0
  148. data/lib/fern_gusto/documents/types/document_signed_recipient_type.rb +15 -0
  149. data/lib/fern_gusto/earning_types/types/earning_type.rb +66 -0
  150. data/lib/fern_gusto/employee_employments/types/unprocessed_termination_pay_period.rb +101 -0
  151. data/lib/fern_gusto/employee_payment_method/types/employee_bank_account.rb +94 -0
  152. data/lib/fern_gusto/employee_payment_method/types/employee_bank_account_account_type.rb +13 -0
  153. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_info.rb +96 -0
  154. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_split_by.rb +15 -0
  155. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_type.rb +14 -0
  156. data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax.rb +144 -0
  157. data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax_w4data_type.rb +13 -0
  158. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax.rb +90 -0
  159. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_answer.rb +74 -0
  160. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format.rb +69 -0
  161. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format_options_item.rb +67 -0
  162. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_question.rb +96 -0
  163. data/lib/fern_gusto/employees/adresses/client.rb +885 -0
  164. data/lib/fern_gusto/employees/benefits/client.rb +656 -0
  165. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution.rb +93 -0
  166. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_type.rb +23 -0
  167. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value.rb +67 -0
  168. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value_item.rb +80 -0
  169. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_deduction_reduces_taxable_income.rb +18 -0
  170. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution.rb +93 -0
  171. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_type.rb +23 -0
  172. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value.rb +67 -0
  173. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value_item.rb +80 -0
  174. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_deduction_reduces_taxable_income.rb +18 -0
  175. data/lib/fern_gusto/employees/client.rb +822 -0
  176. data/lib/fern_gusto/employees/employments/client.rb +799 -0
  177. data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item.rb +95 -0
  178. data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item_employment_status.rb +20 -0
  179. data/lib/fern_gusto/employees/forms/client.rb +433 -0
  180. data/lib/fern_gusto/employees/forms/types/forms_generate_w2response.rb +132 -0
  181. data/lib/fern_gusto/employees/garnishments/client.rb +558 -0
  182. data/lib/fern_gusto/employees/garnishments/types/garnishments_create_request_garnishment_type.rb +20 -0
  183. data/lib/fern_gusto/employees/jobs_and_compensations/client.rb +938 -0
  184. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_minimum_wages_item.rb +62 -0
  185. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_payment_unit.rb +19 -0
  186. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_minimum_wages_item.rb +62 -0
  187. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_payment_unit.rb +19 -0
  188. data/lib/fern_gusto/employees/payment_method/client.rb +484 -0
  189. data/lib/fern_gusto/employees/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
  190. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_bank_account_request_account_type.rb +14 -0
  191. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_split_by.rb +17 -0
  192. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb +83 -0
  193. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_type.rb +16 -0
  194. data/lib/fern_gusto/employees/tax_setup/client.rb +422 -0
  195. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb +73 -0
  196. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item.rb +73 -0
  197. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item_answers_item.rb +77 -0
  198. data/lib/fern_gusto/employees/types/employee.rb +281 -0
  199. data/lib/fern_gusto/employees/types/employee_current_employment_status.rb +20 -0
  200. data/lib/fern_gusto/employees/types/employee_onboarding_info.rb +77 -0
  201. data/lib/fern_gusto/employees/types/employee_onboarding_status.rb +19 -0
  202. data/lib/fern_gusto/employees/types/employee_onboarding_status_onboarding_steps_item.rb +88 -0
  203. data/lib/fern_gusto/employees/types/employee_payment_method.rb +13 -0
  204. data/lib/fern_gusto/employees/types/employees_get_custom_fields_response.rb +59 -0
  205. data/lib/fern_gusto/employees/types/employees_get_request_include.rb +12 -0
  206. data/lib/fern_gusto/events/client.rb +144 -0
  207. data/lib/fern_gusto/events/types/events_list_request_sort_order.rb +12 -0
  208. data/lib/fern_gusto/external_payrolls/types/external_payroll.rb +158 -0
  209. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_benefits_item.rb +73 -0
  210. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_earnings_item.rb +87 -0
  211. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_taxes_item.rb +85 -0
  212. data/lib/fern_gusto/external_payrolls/types/external_payroll_basic.rb +101 -0
  213. data/lib/fern_gusto/external_payrolls/types/external_payroll_basic_status.rb +16 -0
  214. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item.rb +93 -0
  215. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_benefits_item.rb +74 -0
  216. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_earnings_item.rb +81 -0
  217. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_taxes_item.rb +67 -0
  218. data/lib/fern_gusto/external_payrolls/types/external_payroll_metadata.rb +56 -0
  219. data/lib/fern_gusto/external_payrolls/types/external_payroll_status.rb +16 -0
  220. data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions.rb +72 -0
  221. data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions_tax_suggestions.rb +68 -0
  222. data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections.rb +86 -0
  223. data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb +75 -0
  224. data/lib/fern_gusto/federal_tax_details/types/federal_tax_details.rb +140 -0
  225. data/lib/fern_gusto/flows/client.rb +113 -0
  226. data/lib/fern_gusto/flows/types/flow.rb +66 -0
  227. data/lib/fern_gusto/flows/types/flows_create_request_entity_type.rb +14 -0
  228. data/lib/fern_gusto/forms/types/form.rb +123 -0
  229. data/lib/fern_gusto/forms/types/form1099.rb +126 -0
  230. data/lib/fern_gusto/generated_documents/client.rb +106 -0
  231. data/lib/fern_gusto/holiday_pay_policies/client.rb +599 -0
  232. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_add_employees_request_employees_item.rb +57 -0
  233. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays.rb +198 -0
  234. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_christmas_day.rb +57 -0
  235. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_columbus_day.rb +57 -0
  236. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_independence_day.rb +57 -0
  237. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_juneteenth.rb +57 -0
  238. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_labor_day.rb +57 -0
  239. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_memorial_day.rb +57 -0
  240. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_mlk_day.rb +57 -0
  241. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_new_years_day.rb +57 -0
  242. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_presidents_day.rb +57 -0
  243. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_thanksgiving.rb +57 -0
  244. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_veterans_day.rb +57 -0
  245. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_remove_employees_request_employees_item.rb +57 -0
  246. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays.rb +198 -0
  247. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_christmas_day.rb +57 -0
  248. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_columbus_day.rb +57 -0
  249. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_independence_day.rb +57 -0
  250. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_juneteenth.rb +57 -0
  251. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_labor_day.rb +57 -0
  252. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_memorial_day.rb +57 -0
  253. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_mlk_day.rb +57 -0
  254. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_new_years_day.rb +57 -0
  255. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_presidents_day.rb +57 -0
  256. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_thanksgiving.rb +57 -0
  257. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_veterans_day.rb +57 -0
  258. data/lib/fern_gusto/industry/types/industry.rb +87 -0
  259. data/lib/fern_gusto/invoices/client.rb +132 -0
  260. data/lib/fern_gusto/jobs_and_compensations/types/compensation.rb +120 -0
  261. data/lib/fern_gusto/jobs_and_compensations/types/compensation_payment_unit.rb +17 -0
  262. data/lib/fern_gusto/jobs_and_compensations/types/job.rb +161 -0
  263. data/lib/fern_gusto/locations/types/company_address.rb +103 -0
  264. data/lib/fern_gusto/locations/types/location.rb +171 -0
  265. data/lib/fern_gusto/notifications/client.rb +120 -0
  266. data/lib/fern_gusto/pay_schedules/types/pay_schedule.rb +151 -0
  267. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment.rb +103 -0
  268. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_department.rb +65 -0
  269. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee.rb +65 -0
  270. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee_change.rb +105 -0
  271. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_pay_period.rb +80 -0
  272. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview.rb +71 -0
  273. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview_type.rb +15 -0
  274. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_transition_pay_period.rb +68 -0
  275. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_type.rb +15 -0
  276. data/lib/fern_gusto/pay_schedules/types/pay_schedule_frequency.rb +17 -0
  277. data/lib/fern_gusto/payment_configs/types/payment_configs.rb +79 -0
  278. data/lib/fern_gusto/payroll/client.rb +1644 -0
  279. data/lib/fern_gusto/payroll/earning_types/client.rb +350 -0
  280. data/lib/fern_gusto/payroll/earning_types/types/earning_types_get_response.rb +74 -0
  281. data/lib/fern_gusto/payroll/external_payrolls/client.rb +199 -0
  282. data/lib/fern_gusto/payroll/pay_schedules/client.rb +584 -0
  283. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_create_request_frequency.rb +17 -0
  284. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_request_frequency.rb +16 -0
  285. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response.rb +72 -0
  286. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response_pay_periods_item.rb +83 -0
  287. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_update_request_frequency.rb +17 -0
  288. data/lib/fern_gusto/payroll/types/payroll_create_request_off_cycle_reason.rb +15 -0
  289. data/lib/fern_gusto/payroll/types/payroll_create_request_withholding_pay_period.rb +18 -0
  290. data/lib/fern_gusto/payroll/types/payroll_get_request_include_item.rb +14 -0
  291. data/lib/fern_gusto/payroll/types/payroll_list_request_include_item.rb +13 -0
  292. data/lib/fern_gusto/payroll/types/payroll_list_request_payroll_types_item.rb +13 -0
  293. data/lib/fern_gusto/payroll/types/payroll_list_request_processing_statuses_item.rb +12 -0
  294. data/lib/fern_gusto/payroll/types/payroll_list_request_sort_order.rb +12 -0
  295. data/lib/fern_gusto/payroll/types/payroll_skip_payroll_request_payroll_type.rb +15 -0
  296. data/lib/fern_gusto/payroll/types/payroll_submit_request_submission_blockers_item.rb +67 -0
  297. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item.rb +133 -0
  298. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_fixed_compensations_item.rb +79 -0
  299. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_hourly_compensations_item.rb +79 -0
  300. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_paid_time_off_item.rb +85 -0
  301. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_payment_method.rb +13 -0
  302. data/lib/fern_gusto/payrolls/types/employee_pay_stub.rb +94 -0
  303. data/lib/fern_gusto/payrolls/types/paid_time_off.rb +123 -0
  304. data/lib/fern_gusto/payrolls/types/paid_time_off_name.rb +14 -0
  305. data/lib/fern_gusto/payrolls/types/pay_period.rb +86 -0
  306. data/lib/fern_gusto/payrolls/types/pay_period_payroll.rb +107 -0
  307. data/lib/fern_gusto/payrolls/types/pay_period_payroll_payroll_type.rb +13 -0
  308. data/lib/fern_gusto/payrolls/types/payroll.rb +285 -0
  309. data/lib/fern_gusto/payrolls/types/payroll_minimal.rb +250 -0
  310. data/lib/fern_gusto/payrolls/types/payroll_prepared.rb +250 -0
  311. data/lib/fern_gusto/recovery_cases/client.rb +198 -0
  312. data/lib/fern_gusto/reports/client.rb +306 -0
  313. data/lib/fern_gusto/reports/types/reports_create_request_columns_item.rb +91 -0
  314. data/lib/fern_gusto/reports/types/reports_create_request_employment_status.rb +18 -0
  315. data/lib/fern_gusto/reports/types/reports_create_request_employment_type.rb +16 -0
  316. data/lib/fern_gusto/reports/types/reports_create_request_file_type.rb +13 -0
  317. data/lib/fern_gusto/reports/types/reports_create_request_groupings_item.rb +14 -0
  318. data/lib/fern_gusto/reports/types/reports_create_request_payment_method.rb +13 -0
  319. data/lib/fern_gusto/signatories/types/signatory.rb +175 -0
  320. data/lib/fern_gusto/signatories/types/signatory_home_address.rb +93 -0
  321. data/lib/fern_gusto/signatories/types/signatory_identity_verification_status.rb +28 -0
  322. data/lib/fern_gusto/terminations/types/termination.rb +109 -0
  323. data/lib/fern_gusto/time_off_policies/client.rb +863 -0
  324. data/lib/fern_gusto/time_off_policies/types/time_off_policies_add_employees_request_employees_item.rb +67 -0
  325. data/lib/fern_gusto/time_off_policies/types/time_off_policies_create_request_accrual_method.rb +19 -0
  326. data/lib/fern_gusto/time_off_policies/types/time_off_policies_remove_employees_request_employees_item.rb +57 -0
  327. data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_balance_request_employees_item.rb +67 -0
  328. data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_request_accrual_method.rb +19 -0
  329. data/lib/fern_gusto/time_off_requests/types/time_off_request.rb +141 -0
  330. data/lib/fern_gusto/time_off_requests/types/time_off_request_approver.rb +66 -0
  331. data/lib/fern_gusto/time_off_requests/types/time_off_request_employee.rb +66 -0
  332. data/lib/fern_gusto/time_off_requests/types/time_off_request_initiator.rb +66 -0
  333. data/lib/fern_gusto/time_off_requests/types/time_off_request_request_type.rb +13 -0
  334. data/lib/fern_gusto/time_off_requests/types/time_off_request_status.rb +14 -0
  335. data/lib/fern_gusto/token/client.rb +270 -0
  336. data/lib/fern_gusto/token/types/token_get_info_response.rb +85 -0
  337. data/lib/fern_gusto/token/types/token_get_info_response_resource.rb +64 -0
  338. data/lib/fern_gusto/token/types/token_get_info_response_resource_owner.rb +65 -0
  339. data/lib/fern_gusto/token/types/token_get_info_response_resource_owner_type.rb +13 -0
  340. data/lib/fern_gusto/token/types/token_get_system_access_token_response.rb +77 -0
  341. data/lib/fern_gusto/types/accruing_time_off_hour.rb +64 -0
  342. data/lib/fern_gusto/types/ach_transaction.rb +162 -0
  343. data/lib/fern_gusto/types/ach_transaction_payment_direction.rb +11 -0
  344. data/lib/fern_gusto/types/ach_transaction_payment_event_type.rb +11 -0
  345. data/lib/fern_gusto/types/ach_transaction_payment_status.rb +13 -0
  346. data/lib/fern_gusto/types/ach_transaction_recipient_type.rb +11 -0
  347. data/lib/fern_gusto/types/address.rb +111 -0
  348. data/lib/fern_gusto/types/authentication.rb +96 -0
  349. data/lib/fern_gusto/types/child_support_data.rb +58 -0
  350. data/lib/fern_gusto/types/child_support_data_agencies_item.rb +104 -0
  351. data/lib/fern_gusto/types/child_support_data_agencies_item_fips_codes_item.rb +67 -0
  352. data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item.rb +70 -0
  353. data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item_key.rb +14 -0
  354. data/lib/fern_gusto/types/company_benefit.rb +135 -0
  355. data/lib/fern_gusto/types/company_benefit_with_employee_benefits.rb +148 -0
  356. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item.rb +115 -0
  357. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution.rb +91 -0
  358. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value.rb +61 -0
  359. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers.rb +60 -0
  360. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item.rb +86 -0
  361. data/lib/fern_gusto/types/contractor_address_info.rb +118 -0
  362. data/lib/fern_gusto/types/contractor_body.rb +200 -0
  363. data/lib/fern_gusto/types/contractor_body_type.rb +11 -0
  364. data/lib/fern_gusto/types/contractor_body_wage_type.rb +11 -0
  365. data/lib/fern_gusto/types/contractor_payment_receipt.rb +161 -0
  366. data/lib/fern_gusto/types/contractor_payment_receipt_contractor_payments_item.rb +120 -0
  367. data/lib/fern_gusto/types/contractor_payment_receipt_licensee.rb +92 -0
  368. data/lib/fern_gusto/types/contractor_payment_receipt_totals.rb +54 -0
  369. data/lib/fern_gusto/types/create_report.rb +77 -0
  370. data/lib/fern_gusto/types/department.rb +103 -0
  371. data/lib/fern_gusto/types/department_contractors_item.rb +53 -0
  372. data/lib/fern_gusto/types/department_employees_item.rb +53 -0
  373. data/lib/fern_gusto/types/document_pdf.rb +63 -0
  374. data/lib/fern_gusto/types/employee_address.rb +139 -0
  375. data/lib/fern_gusto/types/employee_benefit.rb +220 -0
  376. data/lib/fern_gusto/types/employee_benefit_base_object.rb +199 -0
  377. data/lib/fern_gusto/types/employee_benefit_base_object_contribution.rb +89 -0
  378. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value.rb +61 -0
  379. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers.rb +59 -0
  380. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers_tiers_item.rb +85 -0
  381. data/lib/fern_gusto/types/employee_benefit_base_object_deduction_reduces_taxable_income.rb +14 -0
  382. data/lib/fern_gusto/types/employee_benefit_for_company_benefit.rb +220 -0
  383. data/lib/fern_gusto/types/employee_work_address.rb +137 -0
  384. data/lib/fern_gusto/types/entity_error_object.rb +102 -0
  385. data/lib/fern_gusto/types/entity_error_object_errors_item.rb +89 -0
  386. data/lib/fern_gusto/types/event.rb +99 -0
  387. data/lib/fern_gusto/types/flsa_status_type.rb +23 -0
  388. data/lib/fern_gusto/types/form_pdf.rb +63 -0
  389. data/lib/fern_gusto/types/garnishment.rb +172 -0
  390. data/lib/fern_gusto/types/garnishment_child_support.rb +113 -0
  391. data/lib/fern_gusto/types/garnishment_child_support_payment_period.rb +14 -0
  392. data/lib/fern_gusto/types/garnishment_garnishment_type.rb +16 -0
  393. data/lib/fern_gusto/types/generated_document.rb +70 -0
  394. data/lib/fern_gusto/types/gross_up_pay.rb +53 -0
  395. data/lib/fern_gusto/types/historical_employee_body.rb +156 -0
  396. data/lib/fern_gusto/types/historical_employee_body_employee_state_taxes.rb +80 -0
  397. data/lib/fern_gusto/types/historical_employee_body_home_address.rb +84 -0
  398. data/lib/fern_gusto/types/historical_employee_body_job.rb +53 -0
  399. data/lib/fern_gusto/types/historical_employee_body_termination.rb +53 -0
  400. data/lib/fern_gusto/types/historical_employee_body_work_address.rb +53 -0
  401. data/lib/fern_gusto/types/holiday_pay_policy.rb +88 -0
  402. data/lib/fern_gusto/types/holiday_pay_policy_employees_item.rb +53 -0
  403. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item.rb +179 -0
  404. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_columbus_day.rb +72 -0
  405. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_independence_day.rb +72 -0
  406. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_juneteenth.rb +72 -0
  407. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_labor_day.rb +72 -0
  408. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_memorial_day.rb +72 -0
  409. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_mlk_day.rb +72 -0
  410. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_new_years_day.rb +72 -0
  411. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_presidents_day.rb +72 -0
  412. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_thanksgiving.rb +72 -0
  413. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_veterans_day.rb +72 -0
  414. data/lib/fern_gusto/types/invoice_data.rb +58 -0
  415. data/lib/fern_gusto/types/invoice_data_active_companies_item.rb +91 -0
  416. data/lib/fern_gusto/types/minimum_wage.rb +96 -0
  417. data/lib/fern_gusto/types/notification.rb +125 -0
  418. data/lib/fern_gusto/types/notification_resources_item.rb +85 -0
  419. data/lib/fern_gusto/types/off_cycle_reason_type.rb +19 -0
  420. data/lib/fern_gusto/types/paid_holidays.rb +61 -0
  421. data/lib/fern_gusto/types/paid_holidays_schema.rb +77 -0
  422. data/lib/fern_gusto/types/pay_schedule_assignment_body.rb +111 -0
  423. data/lib/fern_gusto/types/pay_schedule_assignment_body_departments_item.rb +65 -0
  424. data/lib/fern_gusto/types/pay_schedule_assignment_body_employees_item.rb +64 -0
  425. data/lib/fern_gusto/types/pay_schedule_assignment_body_type.rb +13 -0
  426. data/lib/fern_gusto/types/payment_method_bank_account.rb +87 -0
  427. data/lib/fern_gusto/types/payroll_blocker.rb +63 -0
  428. data/lib/fern_gusto/types/payroll_blockers_error.rb +60 -0
  429. data/lib/fern_gusto/types/payroll_blockers_error_errors_item.rb +83 -0
  430. data/lib/fern_gusto/types/payroll_blockers_error_errors_item_metadata.rb +54 -0
  431. data/lib/fern_gusto/types/payroll_check.rb +84 -0
  432. data/lib/fern_gusto/types/payroll_company_taxes_type.rb +6 -0
  433. data/lib/fern_gusto/types/payroll_company_taxes_type_item.rb +70 -0
  434. data/lib/fern_gusto/types/payroll_credit_blockers_type.rb +6 -0
  435. data/lib/fern_gusto/types/payroll_credit_blockers_type_item.rb +89 -0
  436. data/lib/fern_gusto/types/payroll_credit_blockers_type_item_status.rb +13 -0
  437. data/lib/fern_gusto/types/payroll_credit_blockers_type_item_unblock_options_item.rb +72 -0
  438. data/lib/fern_gusto/types/payroll_employee_compensations_type.rb +6 -0
  439. data/lib/fern_gusto/types/payroll_employee_compensations_type_item.rb +216 -0
  440. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_benefits_item.rb +79 -0
  441. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_deductions_item.rb +65 -0
  442. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_fixed_compensations_item.rb +74 -0
  443. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_hourly_compensations_item.rb +92 -0
  444. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_paid_time_off_item.rb +76 -0
  445. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_payment_method.rb +11 -0
  446. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_taxes_item.rb +70 -0
  447. data/lib/fern_gusto/types/payroll_fixed_compensation_types_type.rb +6 -0
  448. data/lib/fern_gusto/types/payroll_fixed_compensation_types_type_item.rb +54 -0
  449. data/lib/fern_gusto/types/payroll_pay_period_type.rb +70 -0
  450. data/lib/fern_gusto/types/payroll_payment_speed_changed_type.rb +86 -0
  451. data/lib/fern_gusto/types/payroll_payroll_status_meta_type.rb +92 -0
  452. data/lib/fern_gusto/types/payroll_processing_request.rb +68 -0
  453. data/lib/fern_gusto/types/payroll_processing_request_status.rb +14 -0
  454. data/lib/fern_gusto/types/payroll_receipt.rb +177 -0
  455. data/lib/fern_gusto/types/payroll_receipt_employee_compensations_item.rb +116 -0
  456. data/lib/fern_gusto/types/payroll_receipt_licensee.rb +92 -0
  457. data/lib/fern_gusto/types/payroll_receipt_taxes_item.rb +63 -0
  458. data/lib/fern_gusto/types/payroll_receipt_totals.rb +85 -0
  459. data/lib/fern_gusto/types/payroll_reversal.rb +91 -0
  460. data/lib/fern_gusto/types/payroll_submission_blockers_type.rb +6 -0
  461. data/lib/fern_gusto/types/payroll_submission_blockers_type_item.rb +89 -0
  462. data/lib/fern_gusto/types/payroll_submission_blockers_type_item_status.rb +11 -0
  463. data/lib/fern_gusto/types/payroll_submission_blockers_type_item_unblock_options_item.rb +72 -0
  464. data/lib/fern_gusto/types/payroll_totals_type.rb +199 -0
  465. data/lib/fern_gusto/types/payroll_withholding_pay_period_type.rb +17 -0
  466. data/lib/fern_gusto/types/recovery_case.rb +131 -0
  467. data/lib/fern_gusto/types/recovery_case_status.rb +14 -0
  468. data/lib/fern_gusto/types/rehire.rb +116 -0
  469. data/lib/fern_gusto/types/rehire_body.rb +91 -0
  470. data/lib/fern_gusto/types/rehire_body_employment_status.rb +16 -0
  471. data/lib/fern_gusto/types/rehire_employment_status.rb +16 -0
  472. data/lib/fern_gusto/types/report.rb +72 -0
  473. data/lib/fern_gusto/types/report_template.rb +77 -0
  474. data/lib/fern_gusto/types/supported_benefit.rb +122 -0
  475. data/lib/fern_gusto/types/tax_requirement.rb +111 -0
  476. data/lib/fern_gusto/types/tax_requirement_applicable_if_item.rb +69 -0
  477. data/lib/fern_gusto/types/tax_requirement_applicable_if_item_value.rb +72 -0
  478. data/lib/fern_gusto/types/tax_requirement_effective_from.rb +5 -0
  479. data/lib/fern_gusto/types/tax_requirement_metadata.rb +182 -0
  480. data/lib/fern_gusto/types/tax_requirement_metadata_options_item.rb +70 -0
  481. data/lib/fern_gusto/types/tax_requirement_metadata_rate_type.rb +13 -0
  482. data/lib/fern_gusto/types/tax_requirement_metadata_type.rb +31 -0
  483. data/lib/fern_gusto/types/tax_requirement_metadata_validation.rb +81 -0
  484. data/lib/fern_gusto/types/tax_requirement_metadata_validation_type.rb +11 -0
  485. data/lib/fern_gusto/types/tax_requirement_set.rb +90 -0
  486. data/lib/fern_gusto/types/tax_requirements_state.rb +75 -0
  487. data/lib/fern_gusto/types/time_off_activity.rb +107 -0
  488. data/lib/fern_gusto/types/time_off_activity_time_off_type.rb +11 -0
  489. data/lib/fern_gusto/types/time_off_policy.rb +183 -0
  490. data/lib/fern_gusto/types/time_off_policy_employees_item.rb +53 -0
  491. data/lib/fern_gusto/types/time_off_policy_policy_type.rb +11 -0
  492. data/lib/fern_gusto/types/unprocessable_entity_error_body.rb +59 -0
  493. data/lib/fern_gusto/types/unprocessable_entity_error_body_errors.rb +57 -0
  494. data/lib/fern_gusto/types/unprocessable_entity_error_body_errors_base_item.rb +72 -0
  495. data/lib/fern_gusto/types/unprocessable_entity_error_body_item.rb +65 -0
  496. data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item.rb +69 -0
  497. data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item_answers_item.rb +72 -0
  498. data/lib/fern_gusto/types/unprocessable_entity_error_object.rb +63 -0
  499. data/lib/fern_gusto/types/versionable.rb +57 -0
  500. data/lib/fern_gusto/types/versionable_required.rb +55 -0
  501. data/lib/fern_gusto/types/wire_in_request.rb +170 -0
  502. data/lib/fern_gusto/types/wire_in_request_status.rb +14 -0
  503. data/lib/fern_gusto/webhooks/client.rb +627 -0
  504. data/lib/fern_gusto/webhooks/types/webhook_subscription.rb +82 -0
  505. data/lib/fern_gusto/webhooks/types/webhook_subscription_status.rb +14 -0
  506. data/lib/fern_gusto/webhooks/types/webhook_subscription_subscription_types_item.rb +25 -0
  507. data/lib/fern_gusto/webhooks/types/webhooks_create_request_subscription_types_item.rb +25 -0
  508. data/lib/fern_gusto/webhooks/types/webhooks_update_request_subscription_types_item.rb +25 -0
  509. data/lib/fern_gusto/wire_in_requests/client.rb +273 -0
  510. data/lib/fern_gusto.rb +310 -0
  511. data/lib/gemconfig.rb +13 -0
  512. data/lib/gusto_legacy.rb +19 -0
  513. data/lib/requests.rb +206 -0
  514. data/lib/types_export.rb +461 -0
  515. metadata +671 -0
@@ -0,0 +1,250 @@
1
+ # frozen_string_literal: true
2
+ require "date"
3
+ require_relative "../../types/off_cycle_reason_type"
4
+ require_relative "../../types/payroll_withholding_pay_period_type"
5
+ require_relative "../../types/payroll_pay_period_type"
6
+ require_relative "../../types/payroll_payroll_status_meta_type"
7
+ require_relative "../../types/payroll_employee_compensations_type"
8
+ require_relative "../../types/payroll_payment_speed_changed_type"
9
+ require "date"
10
+ require_relative "../../types/payroll_fixed_compensation_types_type"
11
+ require_relative "../../types/payroll_processing_request"
12
+ require "ostruct"
13
+ require "json"
14
+
15
+ module Gusto
16
+ module Payrolls
17
+
18
+ class PayrollPrepared
19
+ # @return [DateTime]
20
+ attr_reader :payroll_deadline
21
+ # @return [String]
22
+ attr_reader :check_date
23
+ # @return [Boolean]
24
+ attr_reader :processed
25
+ # @return [String]
26
+ attr_reader :processed_date
27
+ # @return [String]
28
+ attr_reader :calculated_at
29
+ # @return [String]
30
+ attr_reader :payroll_uuid
31
+ # @return [String]
32
+ attr_reader :company_uuid
33
+ # @return [Boolean]
34
+ attr_reader :off_cycle
35
+ # @return [Gusto::OffCycleReasonType]
36
+ attr_reader :off_cycle_reason
37
+ # @return [Boolean]
38
+ attr_reader :auto_pilot
39
+ # @return [Boolean]
40
+ attr_reader :external
41
+ # @return [Boolean]
42
+ attr_reader :final_termination_payroll
43
+ # @return [Gusto::PayrollWithholdingPayPeriodType]
44
+ attr_reader :withholding_pay_period
45
+ # @return [Boolean]
46
+ attr_reader :skip_regular_deductions
47
+ # @return [Boolean]
48
+ attr_reader :fixed_withholding_rate
49
+ # @return [Gusto::PayrollPayPeriodType]
50
+ attr_reader :pay_period
51
+ # @return [Gusto::PayrollPayrollStatusMetaType]
52
+ attr_reader :payroll_status_meta
53
+ # @return [Gusto::PAYROLL_EMPLOYEE_COMPENSATIONS_TYPE]
54
+ attr_reader :employee_compensations
55
+ # @return [Gusto::PayrollPaymentSpeedChangedType]
56
+ attr_reader :payment_speed_changed
57
+ # @return [DateTime]
58
+ attr_reader :created_at
59
+ # @return [Gusto::PAYROLL_FIXED_COMPENSATION_TYPES_TYPE]
60
+ attr_reader :fixed_compensation_types
61
+ # @return [Gusto::PayrollProcessingRequest]
62
+ attr_reader :processing_request
63
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
64
+ attr_reader :additional_properties
65
+ # @return [Object]
66
+ attr_reader :_field_set
67
+ protected :_field_set
68
+
69
+ OMIT = Object.new
70
+
71
+ # @param payroll_deadline [DateTime]
72
+ # @param check_date [String]
73
+ # @param processed [Boolean]
74
+ # @param processed_date [String]
75
+ # @param calculated_at [String]
76
+ # @param payroll_uuid [String]
77
+ # @param company_uuid [String]
78
+ # @param off_cycle [Boolean]
79
+ # @param off_cycle_reason [Gusto::OffCycleReasonType]
80
+ # @param auto_pilot [Boolean]
81
+ # @param external [Boolean]
82
+ # @param final_termination_payroll [Boolean]
83
+ # @param withholding_pay_period [Gusto::PayrollWithholdingPayPeriodType]
84
+ # @param skip_regular_deductions [Boolean]
85
+ # @param fixed_withholding_rate [Boolean]
86
+ # @param pay_period [Gusto::PayrollPayPeriodType]
87
+ # @param payroll_status_meta [Gusto::PayrollPayrollStatusMetaType]
88
+ # @param employee_compensations [Gusto::PAYROLL_EMPLOYEE_COMPENSATIONS_TYPE]
89
+ # @param payment_speed_changed [Gusto::PayrollPaymentSpeedChangedType]
90
+ # @param created_at [DateTime]
91
+ # @param fixed_compensation_types [Gusto::PAYROLL_FIXED_COMPENSATION_TYPES_TYPE]
92
+ # @param processing_request [Gusto::PayrollProcessingRequest]
93
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
94
+ # @return [Gusto::Payrolls::PayrollPrepared]
95
+ def initialize(payroll_deadline: OMIT, check_date: OMIT, processed: OMIT, processed_date: OMIT, calculated_at: OMIT, payroll_uuid: OMIT, company_uuid: OMIT, off_cycle: OMIT, off_cycle_reason: OMIT, auto_pilot: OMIT, external: OMIT, final_termination_payroll: OMIT, withholding_pay_period: OMIT, skip_regular_deductions: OMIT, fixed_withholding_rate: OMIT, pay_period: OMIT, payroll_status_meta: OMIT, employee_compensations: OMIT, payment_speed_changed: OMIT, created_at: OMIT, fixed_compensation_types: OMIT, processing_request: OMIT, additional_properties: nil)
96
+ @payroll_deadline = payroll_deadline if payroll_deadline != OMIT
97
+ @check_date = check_date if check_date != OMIT
98
+ @processed = processed if processed != OMIT
99
+ @processed_date = processed_date if processed_date != OMIT
100
+ @calculated_at = calculated_at if calculated_at != OMIT
101
+ @payroll_uuid = payroll_uuid if payroll_uuid != OMIT
102
+ @company_uuid = company_uuid if company_uuid != OMIT
103
+ @off_cycle = off_cycle if off_cycle != OMIT
104
+ @off_cycle_reason = off_cycle_reason if off_cycle_reason != OMIT
105
+ @auto_pilot = auto_pilot if auto_pilot != OMIT
106
+ @external = external if external != OMIT
107
+ @final_termination_payroll = final_termination_payroll if final_termination_payroll != OMIT
108
+ @withholding_pay_period = withholding_pay_period if withholding_pay_period != OMIT
109
+ @skip_regular_deductions = skip_regular_deductions if skip_regular_deductions != OMIT
110
+ @fixed_withholding_rate = fixed_withholding_rate if fixed_withholding_rate != OMIT
111
+ @pay_period = pay_period if pay_period != OMIT
112
+ @payroll_status_meta = payroll_status_meta if payroll_status_meta != OMIT
113
+ @employee_compensations = employee_compensations if employee_compensations != OMIT
114
+ @payment_speed_changed = payment_speed_changed if payment_speed_changed != OMIT
115
+ @created_at = created_at if created_at != OMIT
116
+ @fixed_compensation_types = fixed_compensation_types if fixed_compensation_types != OMIT
117
+ @processing_request = processing_request if processing_request != OMIT
118
+ @additional_properties = additional_properties
119
+ @_field_set = { "payroll_deadline": payroll_deadline, "check_date": check_date, "processed": processed, "processed_date": processed_date, "calculated_at": calculated_at, "payroll_uuid": payroll_uuid, "company_uuid": company_uuid, "off_cycle": off_cycle, "off_cycle_reason": off_cycle_reason, "auto_pilot": auto_pilot, "external": external, "final_termination_payroll": final_termination_payroll, "withholding_pay_period": withholding_pay_period, "skip_regular_deductions": skip_regular_deductions, "fixed_withholding_rate": fixed_withholding_rate, "pay_period": pay_period, "payroll_status_meta": payroll_status_meta, "employee_compensations": employee_compensations, "payment_speed_changed": payment_speed_changed, "created_at": created_at, "fixed_compensation_types": fixed_compensation_types, "processing_request": processing_request }.reject do | _k, v |
120
+ v == OMIT
121
+ end
122
+ end
123
+ # Deserialize a JSON object to an instance of PayrollPrepared
124
+ #
125
+ # @param json_object [String]
126
+ # @return [Gusto::Payrolls::PayrollPrepared]
127
+ def self.from_json(json_object:)
128
+ struct = JSON.parse(json_object, object_class: OpenStruct)
129
+ parsed_json = JSON.parse(json_object)
130
+ payroll_deadline = unless parsed_json["payroll_deadline"].nil?
131
+ DateTime.parse(parsed_json["payroll_deadline"])
132
+ else
133
+ nil
134
+ end
135
+ check_date = parsed_json["check_date"]
136
+ processed = parsed_json["processed"]
137
+ processed_date = parsed_json["processed_date"]
138
+ calculated_at = parsed_json["calculated_at"]
139
+ payroll_uuid = parsed_json["payroll_uuid"]
140
+ company_uuid = parsed_json["company_uuid"]
141
+ off_cycle = parsed_json["off_cycle"]
142
+ off_cycle_reason = parsed_json["off_cycle_reason"]
143
+ auto_pilot = parsed_json["auto_pilot"]
144
+ external = parsed_json["external"]
145
+ final_termination_payroll = parsed_json["final_termination_payroll"]
146
+ withholding_pay_period = parsed_json["withholding_pay_period"]
147
+ skip_regular_deductions = parsed_json["skip_regular_deductions"]
148
+ fixed_withholding_rate = parsed_json["fixed_withholding_rate"]
149
+ unless parsed_json["pay_period"].nil?
150
+ pay_period = parsed_json["pay_period"].to_json
151
+ pay_period = Gusto::PayrollPayPeriodType.from_json(json_object: pay_period)
152
+ else
153
+ pay_period = nil
154
+ end
155
+ unless parsed_json["payroll_status_meta"].nil?
156
+ payroll_status_meta = parsed_json["payroll_status_meta"].to_json
157
+ payroll_status_meta = Gusto::PayrollPayrollStatusMetaType.from_json(json_object: payroll_status_meta)
158
+ else
159
+ payroll_status_meta = nil
160
+ end
161
+ employee_compensations = parsed_json["employee_compensations"]&.map do | item |
162
+ item = item.to_json
163
+ Gusto::PayrollEmployeeCompensationsTypeItem.from_json(json_object: item)
164
+ end
165
+ unless parsed_json["payment_speed_changed"].nil?
166
+ payment_speed_changed = parsed_json["payment_speed_changed"].to_json
167
+ payment_speed_changed = Gusto::PayrollPaymentSpeedChangedType.from_json(json_object: payment_speed_changed)
168
+ else
169
+ payment_speed_changed = nil
170
+ end
171
+ created_at = unless parsed_json["created_at"].nil?
172
+ DateTime.parse(parsed_json["created_at"])
173
+ else
174
+ nil
175
+ end
176
+ fixed_compensation_types = parsed_json["fixed_compensation_types"]&.map do | item |
177
+ item = item.to_json
178
+ Gusto::PayrollFixedCompensationTypesTypeItem.from_json(json_object: item)
179
+ end
180
+ unless parsed_json["processing_request"].nil?
181
+ processing_request = parsed_json["processing_request"].to_json
182
+ processing_request = Gusto::PayrollProcessingRequest.from_json(json_object: processing_request)
183
+ else
184
+ processing_request = nil
185
+ end
186
+ new(
187
+ payroll_deadline: payroll_deadline,
188
+ check_date: check_date,
189
+ processed: processed,
190
+ processed_date: processed_date,
191
+ calculated_at: calculated_at,
192
+ payroll_uuid: payroll_uuid,
193
+ company_uuid: company_uuid,
194
+ off_cycle: off_cycle,
195
+ off_cycle_reason: off_cycle_reason,
196
+ auto_pilot: auto_pilot,
197
+ external: external,
198
+ final_termination_payroll: final_termination_payroll,
199
+ withholding_pay_period: withholding_pay_period,
200
+ skip_regular_deductions: skip_regular_deductions,
201
+ fixed_withholding_rate: fixed_withholding_rate,
202
+ pay_period: pay_period,
203
+ payroll_status_meta: payroll_status_meta,
204
+ employee_compensations: employee_compensations,
205
+ payment_speed_changed: payment_speed_changed,
206
+ created_at: created_at,
207
+ fixed_compensation_types: fixed_compensation_types,
208
+ processing_request: processing_request,
209
+ additional_properties: struct
210
+ )
211
+ end
212
+ # Serialize an instance of PayrollPrepared to a JSON object
213
+ #
214
+ # @return [String]
215
+ def to_json
216
+ @_field_set&.to_json
217
+ end
218
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
219
+ # hash and check each fields type against the current object's property
220
+ # definitions.
221
+ #
222
+ # @param obj [Object]
223
+ # @return [Void]
224
+ def self.validate_raw(obj:)
225
+ obj.payroll_deadline&.is_a?(DateTime) != false || raise("Passed value for field obj.payroll_deadline is not the expected type, validation failed.")
226
+ obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
227
+ obj.processed&.is_a?(Boolean) != false || raise("Passed value for field obj.processed is not the expected type, validation failed.")
228
+ obj.processed_date&.is_a?(String) != false || raise("Passed value for field obj.processed_date is not the expected type, validation failed.")
229
+ obj.calculated_at&.is_a?(String) != false || raise("Passed value for field obj.calculated_at is not the expected type, validation failed.")
230
+ obj.payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.payroll_uuid is not the expected type, validation failed.")
231
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
232
+ obj.off_cycle&.is_a?(Boolean) != false || raise("Passed value for field obj.off_cycle is not the expected type, validation failed.")
233
+ obj.off_cycle_reason&.is_a?(Gusto::OffCycleReasonType) != false || raise("Passed value for field obj.off_cycle_reason is not the expected type, validation failed.")
234
+ obj.auto_pilot&.is_a?(Boolean) != false || raise("Passed value for field obj.auto_pilot is not the expected type, validation failed.")
235
+ obj.external&.is_a?(Boolean) != false || raise("Passed value for field obj.external is not the expected type, validation failed.")
236
+ obj.final_termination_payroll&.is_a?(Boolean) != false || raise("Passed value for field obj.final_termination_payroll is not the expected type, validation failed.")
237
+ obj.withholding_pay_period&.is_a?(Gusto::PayrollWithholdingPayPeriodType) != false || raise("Passed value for field obj.withholding_pay_period is not the expected type, validation failed.")
238
+ obj.skip_regular_deductions&.is_a?(Boolean) != false || raise("Passed value for field obj.skip_regular_deductions is not the expected type, validation failed.")
239
+ obj.fixed_withholding_rate&.is_a?(Boolean) != false || raise("Passed value for field obj.fixed_withholding_rate is not the expected type, validation failed.")
240
+ obj.pay_period.nil? || Gusto::PayrollPayPeriodType.validate_raw(obj: obj.pay_period)
241
+ obj.payroll_status_meta.nil? || Gusto::PayrollPayrollStatusMetaType.validate_raw(obj: obj.payroll_status_meta)
242
+ obj.employee_compensations&.is_a?(Array) != false || raise("Passed value for field obj.employee_compensations is not the expected type, validation failed.")
243
+ obj.payment_speed_changed.nil? || Gusto::PayrollPaymentSpeedChangedType.validate_raw(obj: obj.payment_speed_changed)
244
+ obj.created_at&.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
245
+ obj.fixed_compensation_types&.is_a?(Array) != false || raise("Passed value for field obj.fixed_compensation_types is not the expected type, validation failed.")
246
+ obj.processing_request.nil? || Gusto::PayrollProcessingRequest.validate_raw(obj: obj.processing_request)
247
+ end
248
+ end
249
+ end
250
+ end
@@ -0,0 +1,198 @@
1
+ # frozen_string_literal: true
2
+ require_relative "../../requests"
3
+ require_relative "../types/recovery_case"
4
+ require "json"
5
+ require "async"
6
+ require "async"
7
+ require_relative "../../requests"
8
+
9
+ module Gusto
10
+ class RecoveryCasesClient
11
+ # @return [Gusto::RequestClient]
12
+ attr_reader :request_client
13
+
14
+
15
+ # @param request_client [Gusto::RequestClient]
16
+ # @return [Gusto::RecoveryCasesClient]
17
+ def initialize(request_client:)
18
+ @request_client = request_client
19
+ end
20
+ # Fetch all recovery cases for a company.
21
+ # scope: `recovery_cases:read`
22
+ #
23
+ # @param company_uuid [String] The UUID of the company
24
+ # @param request_options [Gusto::RequestOptions]
25
+ # @return [Array<Gusto::RecoveryCase>]
26
+ # @example
27
+ # api = Gusto::Client.new(
28
+ # base_url: "https://api.example.com",
29
+ # environment: Gusto::Environment::DEMO,
30
+ # token: "YOUR_AUTH_TOKEN"
31
+ # )
32
+ # api.recovery_cases.list(company_uuid: "company_uuid")
33
+ def list(company_uuid:, request_options: nil)
34
+ response = @request_client.conn.get do | req |
35
+ unless request_options&.timeout_in_seconds.nil?
36
+ req.options.timeout = request_options.timeout_in_seconds
37
+ end
38
+ unless request_options&.token.nil?
39
+ req.headers["Authorization"] = request_options.token
40
+ end
41
+ unless request_options&.gusto_api_version.nil?
42
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
43
+ end
44
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
45
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
46
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
47
+ end
48
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
49
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
50
+ end
51
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/recovery_cases"
52
+ end
53
+ parsed_json = JSON.parse(response.body)
54
+ parsed_json&.map do | item |
55
+ item = item.to_json
56
+ Gusto::RecoveryCase.from_json(json_object: item)
57
+ end
58
+ end
59
+ # After resolving the underlying bank error, initiate a redebit for an open
60
+ # recovery case. This submission is asynchronous and a successful request responds
61
+ # with a 202 HTTP status.
62
+ # It may take up to four business days for the ACH debit to process; in the
63
+ # meantime, the status of the recovery case will be in the `initiated_redebit`
64
+ # state. When funds are successfully redebited, the recovery case is transitioned
65
+ # to the `recovered` state.
66
+ # If the company has exceeded maximum redebit attempts, or if the recovery case is
67
+ # not in a redebitable state, the response will be 422 Unprocessable Entity.
68
+ # scope: `recovery_cases:write`
69
+ #
70
+ # @param recovery_case_uuid [String] The UUID of the recovery case
71
+ # @param request_options [Gusto::RequestOptions]
72
+ # @return [Void]
73
+ # @example
74
+ # api = Gusto::Client.new(
75
+ # base_url: "https://api.example.com",
76
+ # environment: Gusto::Environment::DEMO,
77
+ # token: "YOUR_AUTH_TOKEN"
78
+ # )
79
+ # api.recovery_cases.redebit(recovery_case_uuid: "recovery_case_uuid")
80
+ def redebit(recovery_case_uuid:, request_options: nil)
81
+ response = @request_client.conn.put do | req |
82
+ unless request_options&.timeout_in_seconds.nil?
83
+ req.options.timeout = request_options.timeout_in_seconds
84
+ end
85
+ unless request_options&.token.nil?
86
+ req.headers["Authorization"] = request_options.token
87
+ end
88
+ unless request_options&.gusto_api_version.nil?
89
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
90
+ end
91
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
92
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
93
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
94
+ end
95
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
96
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
97
+ end
98
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/recovery_cases/#{recovery_case_uuid}/redebit"
99
+ end
100
+ end
101
+ end
102
+ class AsyncRecoveryCasesClient
103
+ # @return [Gusto::AsyncRequestClient]
104
+ attr_reader :request_client
105
+
106
+
107
+ # @param request_client [Gusto::RequestClient]
108
+ # @return [Gusto::AsyncRecoveryCasesClient]
109
+ def initialize(request_client:)
110
+ @request_client = request_client
111
+ end
112
+ # Fetch all recovery cases for a company.
113
+ # scope: `recovery_cases:read`
114
+ #
115
+ # @param company_uuid [String] The UUID of the company
116
+ # @param request_options [Gusto::RequestOptions]
117
+ # @return [Array<Gusto::RecoveryCase>]
118
+ # @example
119
+ # api = Gusto::Client.new(
120
+ # base_url: "https://api.example.com",
121
+ # environment: Gusto::Environment::DEMO,
122
+ # token: "YOUR_AUTH_TOKEN"
123
+ # )
124
+ # api.recovery_cases.list(company_uuid: "company_uuid")
125
+ def list(company_uuid:, request_options: nil)
126
+ Async do
127
+ response = @request_client.conn.get do | req |
128
+ unless request_options&.timeout_in_seconds.nil?
129
+ req.options.timeout = request_options.timeout_in_seconds
130
+ end
131
+ unless request_options&.token.nil?
132
+ req.headers["Authorization"] = request_options.token
133
+ end
134
+ unless request_options&.gusto_api_version.nil?
135
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
136
+ end
137
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
138
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
139
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
140
+ end
141
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
142
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
143
+ end
144
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/recovery_cases"
145
+ end
146
+ parsed_json = JSON.parse(response.body)
147
+ parsed_json&.map do | item |
148
+ item = item.to_json
149
+ Gusto::RecoveryCase.from_json(json_object: item)
150
+ end
151
+ end
152
+ end
153
+ # After resolving the underlying bank error, initiate a redebit for an open
154
+ # recovery case. This submission is asynchronous and a successful request responds
155
+ # with a 202 HTTP status.
156
+ # It may take up to four business days for the ACH debit to process; in the
157
+ # meantime, the status of the recovery case will be in the `initiated_redebit`
158
+ # state. When funds are successfully redebited, the recovery case is transitioned
159
+ # to the `recovered` state.
160
+ # If the company has exceeded maximum redebit attempts, or if the recovery case is
161
+ # not in a redebitable state, the response will be 422 Unprocessable Entity.
162
+ # scope: `recovery_cases:write`
163
+ #
164
+ # @param recovery_case_uuid [String] The UUID of the recovery case
165
+ # @param request_options [Gusto::RequestOptions]
166
+ # @return [Void]
167
+ # @example
168
+ # api = Gusto::Client.new(
169
+ # base_url: "https://api.example.com",
170
+ # environment: Gusto::Environment::DEMO,
171
+ # token: "YOUR_AUTH_TOKEN"
172
+ # )
173
+ # api.recovery_cases.redebit(recovery_case_uuid: "recovery_case_uuid")
174
+ def redebit(recovery_case_uuid:, request_options: nil)
175
+ Async do
176
+ response = @request_client.conn.put do | req |
177
+ unless request_options&.timeout_in_seconds.nil?
178
+ req.options.timeout = request_options.timeout_in_seconds
179
+ end
180
+ unless request_options&.token.nil?
181
+ req.headers["Authorization"] = request_options.token
182
+ end
183
+ unless request_options&.gusto_api_version.nil?
184
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
185
+ end
186
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
187
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
188
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
189
+ end
190
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
191
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
192
+ end
193
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/recovery_cases/#{recovery_case_uuid}/redebit"
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end