vitable-connect 0.6.0 → 1.0.0

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 (644) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +16 -0
  3. data/.fernignore +7 -0
  4. data/.rubocop.yml +110 -0
  5. data/CONTRIBUTING.md +120 -0
  6. data/LICENSE +201 -0
  7. data/README.md +161 -114
  8. data/Rakefile +20 -0
  9. data/custom.gemspec.rb +16 -0
  10. data/lib/VitableConnect/auth/client.rb +52 -0
  11. data/lib/VitableConnect/auth/types/issue_access_token_request.rb +13 -0
  12. data/lib/VitableConnect/client.rb +67 -0
  13. data/lib/VitableConnect/employees/client.rb +161 -0
  14. data/lib/VitableConnect/employees/types/get_employees_request.rb +11 -0
  15. data/lib/VitableConnect/employees/types/list_enrollments_employees_request.rb +15 -0
  16. data/lib/VitableConnect/employees/types/patched_update_employee_request.rb +27 -0
  17. data/lib/VitableConnect/employers/client.rb +904 -0
  18. data/lib/VitableConnect/employers/types/census_sync_request.rb +13 -0
  19. data/lib/VitableConnect/employers/types/create_employer_request.rb +23 -0
  20. data/lib/VitableConnect/employers/types/ensure_payroll_integration_email_employers_request.rb +11 -0
  21. data/lib/VitableConnect/employers/types/get_benefit_plan_year_employers_request.rb +13 -0
  22. data/lib/VitableConnect/employers/types/get_employers_request.rb +11 -0
  23. data/lib/VitableConnect/employers/types/get_hris_employers_request.rb +11 -0
  24. data/lib/VitableConnect/employers/types/get_invoice_pdf_employers_request.rb +13 -0
  25. data/lib/VitableConnect/employers/types/get_payroll_access_setup_employers_request.rb +11 -0
  26. data/lib/VitableConnect/employers/types/list_benefit_plan_year_enrollments_employers_request.rb +21 -0
  27. data/lib/VitableConnect/employers/types/list_benefit_plan_years_employers_request.rb +11 -0
  28. data/lib/VitableConnect/employers/types/list_employees_employers_request.rb +19 -0
  29. data/lib/VitableConnect/employers/types/list_employers_request.rb +25 -0
  30. data/lib/VitableConnect/employers/types/list_invoices_employers_request.rb +15 -0
  31. data/lib/VitableConnect/employers/types/list_payroll_deduction_statements_employers_request.rb +15 -0
  32. data/lib/VitableConnect/employers/types/submit_payroll_access_setup_request.rb +57 -0
  33. data/lib/VitableConnect/employers/types/update_employer_request.rb +19 -0
  34. data/lib/VitableConnect/employers/types/update_employer_settings_request.rb +13 -0
  35. data/lib/VitableConnect/enrollments/client.rb +152 -0
  36. data/lib/VitableConnect/enrollments/types/get_enrollments_request.rb +11 -0
  37. data/lib/VitableConnect/enrollments/types/reissue_enrollment_request.rb +17 -0
  38. data/lib/VitableConnect/enrollments/types/terminate_enrollment_request.rb +17 -0
  39. data/lib/VitableConnect/environment.rb +9 -0
  40. data/lib/VitableConnect/errors/api_error.rb +8 -0
  41. data/lib/VitableConnect/errors/client_error.rb +17 -0
  42. data/lib/VitableConnect/errors/redirect_error.rb +8 -0
  43. data/lib/VitableConnect/errors/response_error.rb +42 -0
  44. data/lib/VitableConnect/errors/server_error.rb +11 -0
  45. data/lib/VitableConnect/errors/timeout_error.rb +8 -0
  46. data/lib/VitableConnect/groups/client.rb +199 -0
  47. data/lib/VitableConnect/groups/members/client.rb +21 -0
  48. data/lib/VitableConnect/groups/members/sync/client.rb +122 -0
  49. data/lib/VitableConnect/groups/members/sync/types/get_sync_request.rb +17 -0
  50. data/lib/VitableConnect/groups/members/sync/types/group_member_sync_request.rb +17 -0
  51. data/lib/VitableConnect/groups/types/create_group_request.rb +13 -0
  52. data/lib/VitableConnect/groups/types/get_groups_request.rb +11 -0
  53. data/lib/VitableConnect/groups/types/list_groups_request.rb +13 -0
  54. data/lib/VitableConnect/groups/types/patched_update_group_request.rb +15 -0
  55. data/lib/VitableConnect/internal/errors/constraint_error.rb +10 -0
  56. data/lib/VitableConnect/internal/errors/type_error.rb +10 -0
  57. data/lib/VitableConnect/internal/http/base_request.rb +51 -0
  58. data/lib/VitableConnect/internal/http/raw_client.rb +265 -0
  59. data/lib/VitableConnect/internal/iterators/cursor_item_iterator.rb +28 -0
  60. data/lib/VitableConnect/internal/iterators/cursor_page_iterator.rb +63 -0
  61. data/lib/VitableConnect/internal/iterators/item_iterator.rb +65 -0
  62. data/lib/VitableConnect/internal/iterators/offset_item_iterator.rb +30 -0
  63. data/lib/VitableConnect/internal/iterators/offset_page_iterator.rb +103 -0
  64. data/lib/VitableConnect/internal/json/request.rb +41 -0
  65. data/lib/VitableConnect/internal/json/serializable.rb +25 -0
  66. data/lib/VitableConnect/internal/multipart/multipart_encoder.rb +141 -0
  67. data/lib/VitableConnect/internal/multipart/multipart_form_data.rb +78 -0
  68. data/lib/VitableConnect/internal/multipart/multipart_form_data_part.rb +51 -0
  69. data/lib/VitableConnect/internal/multipart/multipart_request.rb +40 -0
  70. data/lib/VitableConnect/internal/types/array.rb +47 -0
  71. data/lib/VitableConnect/internal/types/boolean.rb +34 -0
  72. data/lib/VitableConnect/internal/types/enum.rb +56 -0
  73. data/lib/VitableConnect/internal/types/hash.rb +36 -0
  74. data/lib/VitableConnect/internal/types/model/field.rb +38 -0
  75. data/lib/VitableConnect/internal/types/model.rb +208 -0
  76. data/lib/VitableConnect/internal/types/type.rb +35 -0
  77. data/lib/VitableConnect/internal/types/union.rb +161 -0
  78. data/lib/VitableConnect/internal/types/unknown.rb +15 -0
  79. data/lib/VitableConnect/internal/types/utils.rb +116 -0
  80. data/lib/VitableConnect/members/client.rb +385 -0
  81. data/lib/VitableConnect/members/types/get_household_members_request.rb +11 -0
  82. data/lib/VitableConnect/members/types/get_members_request.rb +11 -0
  83. data/lib/VitableConnect/members/types/list_dependents_members_request.rb +11 -0
  84. data/lib/VitableConnect/members/types/list_employments_members_request.rb +11 -0
  85. data/lib/VitableConnect/members/types/list_enrollments_members_request.rb +11 -0
  86. data/lib/VitableConnect/members/types/list_id_cards_members_request.rb +11 -0
  87. data/lib/VitableConnect/members/types/list_members_request.rb +15 -0
  88. data/lib/VitableConnect/members/types/list_qualifying_life_events_members_request.rb +17 -0
  89. data/lib/VitableConnect/organizations/client.rb +92 -0
  90. data/lib/VitableConnect/organizations/types/create_organization_request.rb +13 -0
  91. data/lib/VitableConnect/plans/client.rb +69 -0
  92. data/lib/VitableConnect/plans/types/list_plans_request.rb +13 -0
  93. data/lib/VitableConnect/types/access_method.rb +12 -0
  94. data/lib/VitableConnect/types/access_token_response.rb +15 -0
  95. data/lib/VitableConnect/types/additional_access_method.rb +12 -0
  96. data/lib/VitableConnect/types/address.rb +22 -0
  97. data/lib/VitableConnect/types/address_request.rb +17 -0
  98. data/lib/VitableConnect/types/benefit_family.rb +16 -0
  99. data/lib/VitableConnect/types/benefit_family_param_item.rb +16 -0
  100. data/lib/VitableConnect/types/benefit_lifecycle_stage_item.rb +15 -0
  101. data/lib/VitableConnect/types/benefit_plan_network.rb +29 -0
  102. data/lib/VitableConnect/types/benefit_plan_year_detail.rb +52 -0
  103. data/lib/VitableConnect/types/benefit_plan_year_id.rb +23 -0
  104. data/lib/VitableConnect/types/benefit_plan_year_list.rb +47 -0
  105. data/lib/VitableConnect/types/benefit_status.rb +14 -0
  106. data/lib/VitableConnect/types/benefit_summary.rb +15 -0
  107. data/lib/VitableConnect/types/bound_entity.rb +11 -0
  108. data/lib/VitableConnect/types/bound_entity_response.rb +11 -0
  109. data/lib/VitableConnect/types/bound_entity_type.rb +12 -0
  110. data/lib/VitableConnect/types/card_type.rb +14 -0
  111. data/lib/VitableConnect/types/category.rb +14 -0
  112. data/lib/VitableConnect/types/census_sync_detail_response.rb +10 -0
  113. data/lib/VitableConnect/types/census_sync_employee_address_request.rb +17 -0
  114. data/lib/VitableConnect/types/census_sync_employee_request.rb +27 -0
  115. data/lib/VitableConnect/types/census_sync_response.rb +11 -0
  116. data/lib/VitableConnect/types/classification_correction_source.rb +12 -0
  117. data/lib/VitableConnect/types/compensation_type.rb +12 -0
  118. data/lib/VitableConnect/types/contribution_class_compensation.rb +13 -0
  119. data/lib/VitableConnect/types/contribution_class_employment.rb +15 -0
  120. data/lib/VitableConnect/types/contribution_class_location.rb +12 -0
  121. data/lib/VitableConnect/types/contribution_range.rb +11 -0
  122. data/lib/VitableConnect/types/contribution_strategy.rb +13 -0
  123. data/lib/VitableConnect/types/contribution_tier.rb +26 -0
  124. data/lib/VitableConnect/types/coverage_tier.rb +15 -0
  125. data/lib/VitableConnect/types/create_organization_request_type.rb +16 -0
  126. data/lib/VitableConnect/types/created_after.rb +23 -0
  127. data/lib/VitableConnect/types/created_before.rb +23 -0
  128. data/lib/VitableConnect/types/deduction_detail.rb +21 -0
  129. data/lib/VitableConnect/types/deduction_frequency.rb +14 -0
  130. data/lib/VitableConnect/types/digital_benefit_card.rb +36 -0
  131. data/lib/VitableConnect/types/election_status_item.rb +14 -0
  132. data/lib/VitableConnect/types/eligibility_policy.rb +17 -0
  133. data/lib/VitableConnect/types/eligibility_policy_rule.rb +15 -0
  134. data/lib/VitableConnect/types/eligibility_rule_compensation_type.rb +13 -0
  135. data/lib/VitableConnect/types/eligibility_rule_employee_class.rb +17 -0
  136. data/lib/VitableConnect/types/eligible_geographical_location.rb +11 -0
  137. data/lib/VitableConnect/types/eligible_geographical_location_type.rb +12 -0
  138. data/lib/VitableConnect/types/employee.rb +53 -0
  139. data/lib/VitableConnect/types/employee_address.rb +17 -0
  140. data/lib/VitableConnect/types/employee_address_input.rb +19 -0
  141. data/lib/VitableConnect/types/employee_class.rb +16 -0
  142. data/lib/VitableConnect/types/employee_id.rb +23 -0
  143. data/lib/VitableConnect/types/employee_list_response.rb +12 -0
  144. data/lib/VitableConnect/types/employee_response.rb +10 -0
  145. data/lib/VitableConnect/types/employee_search.rb +23 -0
  146. data/lib/VitableConnect/types/employee_status.rb +12 -0
  147. data/lib/VitableConnect/types/employer.rb +34 -0
  148. data/lib/VitableConnect/types/employer_address.rb +18 -0
  149. data/lib/VitableConnect/types/employer_address_input.rb +17 -0
  150. data/lib/VitableConnect/types/employer_benefit_lifecycle_stage.rb +11 -0
  151. data/lib/VitableConnect/types/employer_benefit_plan_year_response.rb +10 -0
  152. data/lib/VitableConnect/types/employer_benefit_plan_years_list_response.rb +9 -0
  153. data/lib/VitableConnect/types/employer_contact.rb +12 -0
  154. data/lib/VitableConnect/types/employer_hris.rb +9 -0
  155. data/lib/VitableConnect/types/employer_hris_response.rb +10 -0
  156. data/lib/VitableConnect/types/employer_hris_status.rb +13 -0
  157. data/lib/VitableConnect/types/employer_id.rb +23 -0
  158. data/lib/VitableConnect/types/employer_invoice_pdf.rb +9 -0
  159. data/lib/VitableConnect/types/employer_invoice_pdf_response.rb +10 -0
  160. data/lib/VitableConnect/types/employer_invoices_list_response.rb +12 -0
  161. data/lib/VitableConnect/types/employer_payroll_deduction_statement_list_response.rb +12 -0
  162. data/lib/VitableConnect/types/employer_response.rb +10 -0
  163. data/lib/VitableConnect/types/employer_search.rb +23 -0
  164. data/lib/VitableConnect/types/employer_settings.rb +9 -0
  165. data/lib/VitableConnect/types/employer_settings_response.rb +10 -0
  166. data/lib/VitableConnect/types/enrollment.rb +34 -0
  167. data/lib/VitableConnect/types/enrollment_detail.rb +39 -0
  168. data/lib/VitableConnect/types/enrollment_id.rb +23 -0
  169. data/lib/VitableConnect/types/enrollment_list_response.rb +12 -0
  170. data/lib/VitableConnect/types/enrollment_rate.rb +13 -0
  171. data/lib/VitableConnect/types/enrollment_rate_summary.rb +13 -0
  172. data/lib/VitableConnect/types/enrollment_response.rb +10 -0
  173. data/lib/VitableConnect/types/enrollment_status.rb +14 -0
  174. data/lib/VitableConnect/types/error_response.rb +17 -0
  175. data/lib/VitableConnect/types/event_id.rb +23 -0
  176. data/lib/VitableConnect/types/event_name.rb +21 -0
  177. data/lib/VitableConnect/types/gender.rb +15 -0
  178. data/lib/VitableConnect/types/grant_type.rb +11 -0
  179. data/lib/VitableConnect/types/group.rb +19 -0
  180. data/lib/VitableConnect/types/group_id.rb +23 -0
  181. data/lib/VitableConnect/types/group_list_response.rb +12 -0
  182. data/lib/VitableConnect/types/group_member_sync_detail_response.rb +10 -0
  183. data/lib/VitableConnect/types/group_member_sync_failure.rb +13 -0
  184. data/lib/VitableConnect/types/group_member_sync_member_request.rb +23 -0
  185. data/lib/VitableConnect/types/group_member_sync_request_detail.rb +17 -0
  186. data/lib/VitableConnect/types/group_member_sync_request_detail_response.rb +10 -0
  187. data/lib/VitableConnect/types/group_member_sync_response.rb +13 -0
  188. data/lib/VitableConnect/types/group_member_sync_results.rb +13 -0
  189. data/lib/VitableConnect/types/group_response.rb +10 -0
  190. data/lib/VitableConnect/types/household_member.rb +22 -0
  191. data/lib/VitableConnect/types/household_member_relationship.rb +14 -0
  192. data/lib/VitableConnect/types/household_member_type.rb +13 -0
  193. data/lib/VitableConnect/types/household_members_response.rb +10 -0
  194. data/lib/VitableConnect/types/hris_connection.rb +17 -0
  195. data/lib/VitableConnect/types/hris_status_item.rb +15 -0
  196. data/lib/VitableConnect/types/ichra_contribution_class.rb +29 -0
  197. data/lib/VitableConnect/types/idp_provider.rb +12 -0
  198. data/lib/VitableConnect/types/include_cancelled.rb +23 -0
  199. data/lib/VitableConnect/types/invoice.rb +15 -0
  200. data/lib/VitableConnect/types/invoice_id.rb +23 -0
  201. data/lib/VitableConnect/types/invoices_cursor_pagination.rb +9 -0
  202. data/lib/VitableConnect/types/limit.rb +23 -0
  203. data/lib/VitableConnect/types/list_webhook_event_deliveries_response.rb +9 -0
  204. data/lib/VitableConnect/types/marital_status.rb +12 -0
  205. data/lib/VitableConnect/types/member.rb +42 -0
  206. data/lib/VitableConnect/types/member_address.rb +17 -0
  207. data/lib/VitableConnect/types/member_dependents_response.rb +10 -0
  208. data/lib/VitableConnect/types/member_digital_benefit_cards_response.rb +10 -0
  209. data/lib/VitableConnect/types/member_employments_response.rb +10 -0
  210. data/lib/VitableConnect/types/member_enrollment.rb +58 -0
  211. data/lib/VitableConnect/types/member_enrollments_response.rb +10 -0
  212. data/lib/VitableConnect/types/member_id.rb +23 -0
  213. data/lib/VitableConnect/types/member_legal_dependent.rb +24 -0
  214. data/lib/VitableConnect/types/member_list_item.rb +20 -0
  215. data/lib/VitableConnect/types/member_list_response.rb +12 -0
  216. data/lib/VitableConnect/types/member_qualifying_life_event.rb +19 -0
  217. data/lib/VitableConnect/types/member_qualifying_life_event_list_response.rb +12 -0
  218. data/lib/VitableConnect/types/member_response.rb +10 -0
  219. data/lib/VitableConnect/types/member_search.rb +23 -0
  220. data/lib/VitableConnect/types/member_status.rb +12 -0
  221. data/lib/VitableConnect/types/missing_employee_resolution.rb +12 -0
  222. data/lib/VitableConnect/types/name_suffix.rb +17 -0
  223. data/lib/VitableConnect/types/offset.rb +23 -0
  224. data/lib/VitableConnect/types/operation.rb +12 -0
  225. data/lib/VitableConnect/types/organization.rb +19 -0
  226. data/lib/VitableConnect/types/organization_employer.rb +44 -0
  227. data/lib/VitableConnect/types/organization_employer_list_response.rb +12 -0
  228. data/lib/VitableConnect/types/organization_hris_provider.rb +11 -0
  229. data/lib/VitableConnect/types/organization_hris_providers_response.rb +10 -0
  230. data/lib/VitableConnect/types/organization_type.rb +16 -0
  231. data/lib/VitableConnect/types/organizations_list_response.rb +12 -0
  232. data/lib/VitableConnect/types/page.rb +23 -0
  233. data/lib/VitableConnect/types/pagination.rb +16 -0
  234. data/lib/VitableConnect/types/payroll_access_setup_status.rb +11 -0
  235. data/lib/VitableConnect/types/payroll_access_setup_status_response.rb +10 -0
  236. data/lib/VitableConnect/types/payroll_deduction_statement.rb +29 -0
  237. data/lib/VitableConnect/types/payroll_integration_email.rb +9 -0
  238. data/lib/VitableConnect/types/payroll_integration_email_response.rb +10 -0
  239. data/lib/VitableConnect/types/plan.rb +11 -0
  240. data/lib/VitableConnect/types/plan_list_response.rb +12 -0
  241. data/lib/VitableConnect/types/plan_year_enrollment.rb +35 -0
  242. data/lib/VitableConnect/types/plan_year_enrollment_election_status.rb +14 -0
  243. data/lib/VitableConnect/types/plan_year_enrollment_list_response.rb +12 -0
  244. data/lib/VitableConnect/types/plan_year_enrollment_policy_status.rb +14 -0
  245. data/lib/VitableConnect/types/preferred_language.rb +16 -0
  246. data/lib/VitableConnect/types/product_code.rb +25 -0
  247. data/lib/VitableConnect/types/qualifying_life_event_status.rb +13 -0
  248. data/lib/VitableConnect/types/qualifying_life_event_type.rb +31 -0
  249. data/lib/VitableConnect/types/reissue_enrollment.rb +9 -0
  250. data/lib/VitableConnect/types/reissue_enrollment_response.rb +10 -0
  251. data/lib/VitableConnect/types/relationship.rb +12 -0
  252. data/lib/VitableConnect/types/remaining_employee_action.rb +12 -0
  253. data/lib/VitableConnect/types/request_id.rb +23 -0
  254. data/lib/VitableConnect/types/resource_id.rb +23 -0
  255. data/lib/VitableConnect/types/resource_type.rb +16 -0
  256. data/lib/VitableConnect/types/search.rb +23 -0
  257. data/lib/VitableConnect/types/sex_at_birth.rb +14 -0
  258. data/lib/VitableConnect/types/state.rb +72 -0
  259. data/lib/VitableConnect/types/status.rb +13 -0
  260. data/lib/VitableConnect/types/tax_classification.rb +13 -0
  261. data/lib/VitableConnect/types/termination_rule.rb +12 -0
  262. data/lib/VitableConnect/types/update_employer_address_input.rb +17 -0
  263. data/lib/VitableConnect/types/waiting_period.rb +13 -0
  264. data/lib/VitableConnect/types/webhook_delivery.rb +25 -0
  265. data/lib/VitableConnect/types/webhook_event.rb +19 -0
  266. data/lib/VitableConnect/types/webhook_event_list_response.rb +12 -0
  267. data/lib/VitableConnect/types/webhook_event_response.rb +10 -0
  268. data/lib/{vitable_connect → VitableConnect}/version.rb +1 -1
  269. data/lib/VitableConnect/webhook_events/client.rb +156 -0
  270. data/lib/VitableConnect/webhook_events/types/get_webhook_events_request.rb +11 -0
  271. data/lib/VitableConnect/webhook_events/types/list_deliveries_webhook_events_request.rb +11 -0
  272. data/lib/VitableConnect/webhook_events/types/list_webhook_events_request.rb +23 -0
  273. data/lib/VitableConnect.rb +268 -0
  274. data/lib/vitable_connect.rb +4 -154
  275. data/reference.md +3722 -0
  276. metadata +286 -413
  277. data/.ignore +0 -2
  278. data/CHANGELOG.md +0 -169
  279. data/lib/vitable_connect/client.rb +0 -153
  280. data/lib/vitable_connect/errors.rb +0 -228
  281. data/lib/vitable_connect/file_part.rb +0 -58
  282. data/lib/vitable_connect/internal/page_number_page.rb +0 -113
  283. data/lib/vitable_connect/internal/transport/base_client.rb +0 -603
  284. data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +0 -210
  285. data/lib/vitable_connect/internal/type/array_of.rb +0 -168
  286. data/lib/vitable_connect/internal/type/base_model.rb +0 -534
  287. data/lib/vitable_connect/internal/type/base_page.rb +0 -55
  288. data/lib/vitable_connect/internal/type/boolean.rb +0 -77
  289. data/lib/vitable_connect/internal/type/converter.rb +0 -327
  290. data/lib/vitable_connect/internal/type/enum.rb +0 -156
  291. data/lib/vitable_connect/internal/type/file_input.rb +0 -111
  292. data/lib/vitable_connect/internal/type/hash_of.rb +0 -188
  293. data/lib/vitable_connect/internal/type/request_parameters.rb +0 -42
  294. data/lib/vitable_connect/internal/type/union.rb +0 -245
  295. data/lib/vitable_connect/internal/type/unknown.rb +0 -81
  296. data/lib/vitable_connect/internal/util.rb +0 -966
  297. data/lib/vitable_connect/internal.rb +0 -20
  298. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +0 -82
  299. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +0 -84
  300. data/lib/vitable_connect/models/employee.rb +0 -378
  301. data/lib/vitable_connect/models/employee_class.rb +0 -25
  302. data/lib/vitable_connect/models/employee_list_enrollments_params.rb +0 -38
  303. data/lib/vitable_connect/models/employee_retrieve_params.rb +0 -22
  304. data/lib/vitable_connect/models/employee_retrieve_response.rb +0 -18
  305. data/lib/vitable_connect/models/employee_update_params.rb +0 -185
  306. data/lib/vitable_connect/models/employee_update_response.rb +0 -18
  307. data/lib/vitable_connect/models/employer.rb +0 -189
  308. data/lib/vitable_connect/models/employer_create_params.rb +0 -115
  309. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_params.rb +0 -22
  310. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_response.rb +0 -29
  311. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rb +0 -80
  312. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rb +0 -175
  313. data/lib/vitable_connect/models/employer_list_benefit_plan_years_params.rb +0 -22
  314. data/lib/vitable_connect/models/employer_list_benefit_plan_years_response.rb +0 -301
  315. data/lib/vitable_connect/models/employer_list_employees_params.rb +0 -65
  316. data/lib/vitable_connect/models/employer_list_hris_providers_params.rb +0 -14
  317. data/lib/vitable_connect/models/employer_list_hris_providers_response.rb +0 -30
  318. data/lib/vitable_connect/models/employer_list_invoices_params.rb +0 -38
  319. data/lib/vitable_connect/models/employer_list_invoices_response.rb +0 -77
  320. data/lib/vitable_connect/models/employer_list_params.rb +0 -143
  321. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_params.rb +0 -38
  322. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_response.rb +0 -113
  323. data/lib/vitable_connect/models/employer_list_response.rb +0 -283
  324. data/lib/vitable_connect/models/employer_response.rb +0 -19
  325. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rb +0 -30
  326. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rb +0 -813
  327. data/lib/vitable_connect/models/employer_retrieve_hris_params.rb +0 -22
  328. data/lib/vitable_connect/models/employer_retrieve_hris_response.rb +0 -55
  329. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_params.rb +0 -30
  330. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_response.rb +0 -17
  331. data/lib/vitable_connect/models/employer_retrieve_params.rb +0 -22
  332. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rb +0 -22
  333. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rb +0 -35
  334. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +0 -375
  335. data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +0 -35
  336. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_params.rb +0 -267
  337. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_response.rb +0 -35
  338. data/lib/vitable_connect/models/employer_update_params.rb +0 -99
  339. data/lib/vitable_connect/models/employer_update_settings_params.rb +0 -52
  340. data/lib/vitable_connect/models/employer_update_settings_response.rb +0 -56
  341. data/lib/vitable_connect/models/enrollment.rb +0 -234
  342. data/lib/vitable_connect/models/enrollment_reissue_params.rb +0 -50
  343. data/lib/vitable_connect/models/enrollment_reissue_response.rb +0 -30
  344. data/lib/vitable_connect/models/enrollment_retrieve_params.rb +0 -22
  345. data/lib/vitable_connect/models/enrollment_retrieve_response.rb +0 -18
  346. data/lib/vitable_connect/models/enrollment_status.rb +0 -21
  347. data/lib/vitable_connect/models/enrollment_terminate_params.rb +0 -50
  348. data/lib/vitable_connect/models/group.rb +0 -57
  349. data/lib/vitable_connect/models/group_create_params.rb +0 -26
  350. data/lib/vitable_connect/models/group_list_params.rb +0 -30
  351. data/lib/vitable_connect/models/group_response.rb +0 -18
  352. data/lib/vitable_connect/models/group_retrieve_params.rb +0 -22
  353. data/lib/vitable_connect/models/group_update_params.rb +0 -36
  354. data/lib/vitable_connect/models/groups/members/sync_retrieve_params.rb +0 -33
  355. data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +0 -128
  356. data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +0 -121
  357. data/lib/vitable_connect/models/groups/members/sync_submit_response.rb +0 -45
  358. data/lib/vitable_connect/models/member_list_dependents_params.rb +0 -20
  359. data/lib/vitable_connect/models/member_list_dependents_response.rb +0 -132
  360. data/lib/vitable_connect/models/member_list_employments_params.rb +0 -20
  361. data/lib/vitable_connect/models/member_list_employments_response.rb +0 -18
  362. data/lib/vitable_connect/models/member_list_enrollments_params.rb +0 -20
  363. data/lib/vitable_connect/models/member_list_enrollments_response.rb +0 -319
  364. data/lib/vitable_connect/models/member_list_id_cards_params.rb +0 -20
  365. data/lib/vitable_connect/models/member_list_id_cards_response.rb +0 -368
  366. data/lib/vitable_connect/models/member_list_params.rb +0 -38
  367. data/lib/vitable_connect/models/member_list_qualifying_life_events_params.rb +0 -57
  368. data/lib/vitable_connect/models/member_list_qualifying_life_events_response.rb +0 -96
  369. data/lib/vitable_connect/models/member_list_response.rb +0 -108
  370. data/lib/vitable_connect/models/member_retrieve_household_params.rb +0 -20
  371. data/lib/vitable_connect/models/member_retrieve_household_response.rb +0 -128
  372. data/lib/vitable_connect/models/member_retrieve_params.rb +0 -20
  373. data/lib/vitable_connect/models/member_retrieve_response.rb +0 -195
  374. data/lib/vitable_connect/models/organization_create_params.rb +0 -57
  375. data/lib/vitable_connect/models/organization_create_response.rb +0 -104
  376. data/lib/vitable_connect/models/organization_list_params.rb +0 -14
  377. data/lib/vitable_connect/models/organization_list_response.rb +0 -128
  378. data/lib/vitable_connect/models/pagination.rb +0 -42
  379. data/lib/vitable_connect/models/plan_list_params.rb +0 -30
  380. data/lib/vitable_connect/models/plan_list_response.rb +0 -22
  381. data/lib/vitable_connect/models/webhook_event.rb +0 -62
  382. data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +0 -20
  383. data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +0 -92
  384. data/lib/vitable_connect/models/webhook_event_list_params.rb +0 -135
  385. data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +0 -20
  386. data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +0 -18
  387. data/lib/vitable_connect/models.rb +0 -156
  388. data/lib/vitable_connect/request_options.rb +0 -78
  389. data/lib/vitable_connect/resources/auth.rb +0 -41
  390. data/lib/vitable_connect/resources/employees.rb +0 -111
  391. data/lib/vitable_connect/resources/employers.rb +0 -588
  392. data/lib/vitable_connect/resources/enrollments.rb +0 -110
  393. data/lib/vitable_connect/resources/groups/members/sync.rb +0 -74
  394. data/lib/vitable_connect/resources/groups/members.rb +0 -20
  395. data/lib/vitable_connect/resources/groups.rb +0 -114
  396. data/lib/vitable_connect/resources/members.rb +0 -231
  397. data/lib/vitable_connect/resources/organizations.rb +0 -66
  398. data/lib/vitable_connect/resources/plans.rb +0 -41
  399. data/lib/vitable_connect/resources/webhook_events.rb +0 -95
  400. data/manifest.yaml +0 -17
  401. data/rbi/vitable_connect/client.rbi +0 -106
  402. data/rbi/vitable_connect/errors.rbi +0 -205
  403. data/rbi/vitable_connect/file_part.rbi +0 -37
  404. data/rbi/vitable_connect/internal/page_number_page.rbi +0 -49
  405. data/rbi/vitable_connect/internal/transport/base_client.rbi +0 -310
  406. data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +0 -84
  407. data/rbi/vitable_connect/internal/type/array_of.rbi +0 -108
  408. data/rbi/vitable_connect/internal/type/base_model.rbi +0 -314
  409. data/rbi/vitable_connect/internal/type/base_page.rbi +0 -43
  410. data/rbi/vitable_connect/internal/type/boolean.rbi +0 -58
  411. data/rbi/vitable_connect/internal/type/converter.rbi +0 -225
  412. data/rbi/vitable_connect/internal/type/enum.rbi +0 -82
  413. data/rbi/vitable_connect/internal/type/file_input.rbi +0 -59
  414. data/rbi/vitable_connect/internal/type/hash_of.rbi +0 -108
  415. data/rbi/vitable_connect/internal/type/request_parameters.rbi +0 -31
  416. data/rbi/vitable_connect/internal/type/union.rbi +0 -130
  417. data/rbi/vitable_connect/internal/type/unknown.rbi +0 -58
  418. data/rbi/vitable_connect/internal/util.rbi +0 -515
  419. data/rbi/vitable_connect/internal.rbi +0 -18
  420. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +0 -195
  421. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +0 -174
  422. data/rbi/vitable_connect/models/employee.rbi +0 -551
  423. data/rbi/vitable_connect/models/employee_class.rbi +0 -38
  424. data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +0 -68
  425. data/rbi/vitable_connect/models/employee_retrieve_params.rbi +0 -46
  426. data/rbi/vitable_connect/models/employee_retrieve_response.rbi +0 -32
  427. data/rbi/vitable_connect/models/employee_update_params.rbi +0 -323
  428. data/rbi/vitable_connect/models/employee_update_response.rbi +0 -32
  429. data/rbi/vitable_connect/models/employer.rbi +0 -255
  430. data/rbi/vitable_connect/models/employer_create_params.rbi +0 -169
  431. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbi +0 -46
  432. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbi +0 -72
  433. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbi +0 -165
  434. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbi +0 -278
  435. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_params.rbi +0 -46
  436. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_response.rbi +0 -539
  437. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +0 -138
  438. data/rbi/vitable_connect/models/employer_list_hris_providers_params.rbi +0 -32
  439. data/rbi/vitable_connect/models/employer_list_hris_providers_response.rbi +0 -74
  440. data/rbi/vitable_connect/models/employer_list_invoices_params.rbi +0 -65
  441. data/rbi/vitable_connect/models/employer_list_invoices_response.rbi +0 -151
  442. data/rbi/vitable_connect/models/employer_list_params.rbi +0 -348
  443. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_params.rbi +0 -68
  444. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbi +0 -169
  445. data/rbi/vitable_connect/models/employer_list_response.rbi +0 -426
  446. data/rbi/vitable_connect/models/employer_response.rbi +0 -36
  447. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbi +0 -54
  448. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbi +0 -1574
  449. data/rbi/vitable_connect/models/employer_retrieve_hris_params.rbi +0 -46
  450. data/rbi/vitable_connect/models/employer_retrieve_hris_response.rbi +0 -120
  451. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbi +0 -54
  452. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbi +0 -30
  453. data/rbi/vitable_connect/models/employer_retrieve_params.rbi +0 -46
  454. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbi +0 -46
  455. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbi +0 -83
  456. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +0 -821
  457. data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +0 -76
  458. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_params.rbi +0 -441
  459. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_response.rbi +0 -83
  460. data/rbi/vitable_connect/models/employer_update_params.rbi +0 -155
  461. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +0 -114
  462. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +0 -147
  463. data/rbi/vitable_connect/models/enrollment.rbi +0 -401
  464. data/rbi/vitable_connect/models/enrollment_reissue_params.rbi +0 -72
  465. data/rbi/vitable_connect/models/enrollment_reissue_response.rbi +0 -67
  466. data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +0 -46
  467. data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +0 -34
  468. data/rbi/vitable_connect/models/enrollment_status.rbi +0 -32
  469. data/rbi/vitable_connect/models/enrollment_terminate_params.rbi +0 -72
  470. data/rbi/vitable_connect/models/group.rbi +0 -77
  471. data/rbi/vitable_connect/models/group_create_params.rbi +0 -46
  472. data/rbi/vitable_connect/models/group_list_params.rbi +0 -60
  473. data/rbi/vitable_connect/models/group_response.rbi +0 -32
  474. data/rbi/vitable_connect/models/group_retrieve_params.rbi +0 -43
  475. data/rbi/vitable_connect/models/group_update_params.rbi +0 -58
  476. data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +0 -56
  477. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +0 -282
  478. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +0 -214
  479. data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +0 -92
  480. data/rbi/vitable_connect/models/member_list_dependents_params.rbi +0 -38
  481. data/rbi/vitable_connect/models/member_list_dependents_response.rbi +0 -249
  482. data/rbi/vitable_connect/models/member_list_employments_params.rbi +0 -38
  483. data/rbi/vitable_connect/models/member_list_employments_response.rbi +0 -31
  484. data/rbi/vitable_connect/models/member_list_enrollments_params.rbi +0 -38
  485. data/rbi/vitable_connect/models/member_list_enrollments_response.rbi +0 -579
  486. data/rbi/vitable_connect/models/member_list_id_cards_params.rbi +0 -38
  487. data/rbi/vitable_connect/models/member_list_id_cards_response.rbi +0 -624
  488. data/rbi/vitable_connect/models/member_list_params.rbi +0 -71
  489. data/rbi/vitable_connect/models/member_list_qualifying_life_events_params.rbi +0 -130
  490. data/rbi/vitable_connect/models/member_list_qualifying_life_events_response.rbi +0 -192
  491. data/rbi/vitable_connect/models/member_list_response.rbi +0 -166
  492. data/rbi/vitable_connect/models/member_retrieve_household_params.rbi +0 -38
  493. data/rbi/vitable_connect/models/member_retrieve_household_response.rbi +0 -251
  494. data/rbi/vitable_connect/models/member_retrieve_params.rbi +0 -38
  495. data/rbi/vitable_connect/models/member_retrieve_response.rbi +0 -312
  496. data/rbi/vitable_connect/models/organization_create_params.rbi +0 -127
  497. data/rbi/vitable_connect/models/organization_create_response.rbi +0 -212
  498. data/rbi/vitable_connect/models/organization_list_params.rbi +0 -32
  499. data/rbi/vitable_connect/models/organization_list_response.rbi +0 -266
  500. data/rbi/vitable_connect/models/pagination.rbi +0 -62
  501. data/rbi/vitable_connect/models/plan_list_params.rbi +0 -60
  502. data/rbi/vitable_connect/models/plan_list_response.rbi +0 -29
  503. data/rbi/vitable_connect/models/webhook_event.rbi +0 -81
  504. data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +0 -38
  505. data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +0 -147
  506. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +0 -307
  507. data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +0 -38
  508. data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +0 -34
  509. data/rbi/vitable_connect/models.rbi +0 -134
  510. data/rbi/vitable_connect/request_options.rbi +0 -61
  511. data/rbi/vitable_connect/resources/auth.rbi +0 -36
  512. data/rbi/vitable_connect/resources/employees.rbi +0 -110
  513. data/rbi/vitable_connect/resources/employers.rbi +0 -520
  514. data/rbi/vitable_connect/resources/enrollments.rbi +0 -88
  515. data/rbi/vitable_connect/resources/groups/members/sync.rbi +0 -62
  516. data/rbi/vitable_connect/resources/groups/members.rbi +0 -17
  517. data/rbi/vitable_connect/resources/groups.rbi +0 -79
  518. data/rbi/vitable_connect/resources/members.rbi +0 -169
  519. data/rbi/vitable_connect/resources/organizations.rbi +0 -48
  520. data/rbi/vitable_connect/resources/plans.rbi +0 -34
  521. data/rbi/vitable_connect/resources/webhook_events.rbi +0 -84
  522. data/rbi/vitable_connect/version.rbi +0 -5
  523. data/sig/vitable_connect/client.rbs +0 -52
  524. data/sig/vitable_connect/errors.rbs +0 -117
  525. data/sig/vitable_connect/file_part.rbs +0 -21
  526. data/sig/vitable_connect/internal/page_number_page.rbs +0 -28
  527. data/sig/vitable_connect/internal/transport/base_client.rbs +0 -135
  528. data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +0 -48
  529. data/sig/vitable_connect/internal/type/array_of.rbs +0 -48
  530. data/sig/vitable_connect/internal/type/base_model.rbs +0 -104
  531. data/sig/vitable_connect/internal/type/base_page.rbs +0 -24
  532. data/sig/vitable_connect/internal/type/boolean.rbs +0 -26
  533. data/sig/vitable_connect/internal/type/converter.rbs +0 -79
  534. data/sig/vitable_connect/internal/type/enum.rbs +0 -32
  535. data/sig/vitable_connect/internal/type/file_input.rbs +0 -25
  536. data/sig/vitable_connect/internal/type/hash_of.rbs +0 -48
  537. data/sig/vitable_connect/internal/type/request_parameters.rbs +0 -20
  538. data/sig/vitable_connect/internal/type/union.rbs +0 -52
  539. data/sig/vitable_connect/internal/type/unknown.rbs +0 -26
  540. data/sig/vitable_connect/internal/util.rbs +0 -199
  541. data/sig/vitable_connect/internal.rbs +0 -10
  542. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +0 -74
  543. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +0 -68
  544. data/sig/vitable_connect/models/employee.rbs +0 -261
  545. data/sig/vitable_connect/models/employee_class.rbs +0 -24
  546. data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +0 -36
  547. data/sig/vitable_connect/models/employee_retrieve_params.rbs +0 -24
  548. data/sig/vitable_connect/models/employee_retrieve_response.rbs +0 -13
  549. data/sig/vitable_connect/models/employee_update_params.rbs +0 -140
  550. data/sig/vitable_connect/models/employee_update_response.rbs +0 -13
  551. data/sig/vitable_connect/models/employer.rbs +0 -129
  552. data/sig/vitable_connect/models/employer_create_params.rbs +0 -93
  553. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbs +0 -24
  554. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbs +0 -30
  555. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbs +0 -74
  556. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbs +0 -111
  557. data/sig/vitable_connect/models/employer_list_benefit_plan_years_params.rbs +0 -24
  558. data/sig/vitable_connect/models/employer_list_benefit_plan_years_response.rbs +0 -197
  559. data/sig/vitable_connect/models/employer_list_employees_params.rbs +0 -67
  560. data/sig/vitable_connect/models/employer_list_hris_providers_params.rbs +0 -15
  561. data/sig/vitable_connect/models/employer_list_hris_providers_response.rbs +0 -30
  562. data/sig/vitable_connect/models/employer_list_invoices_params.rbs +0 -34
  563. data/sig/vitable_connect/models/employer_list_invoices_response.rbs +0 -62
  564. data/sig/vitable_connect/models/employer_list_params.rbs +0 -125
  565. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_params.rbs +0 -36
  566. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbs +0 -73
  567. data/sig/vitable_connect/models/employer_list_response.rbs +0 -179
  568. data/sig/vitable_connect/models/employer_response.rbs +0 -13
  569. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbs +0 -28
  570. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbs +0 -540
  571. data/sig/vitable_connect/models/employer_retrieve_hris_params.rbs +0 -24
  572. data/sig/vitable_connect/models/employer_retrieve_hris_response.rbs +0 -50
  573. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbs +0 -28
  574. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbs +0 -13
  575. data/sig/vitable_connect/models/employer_retrieve_params.rbs +0 -24
  576. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbs +0 -24
  577. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbs +0 -32
  578. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +0 -274
  579. data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +0 -30
  580. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_params.rbs +0 -198
  581. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_response.rbs +0 -32
  582. data/sig/vitable_connect/models/employer_update_params.rbs +0 -83
  583. data/sig/vitable_connect/models/employer_update_settings_params.rbs +0 -44
  584. data/sig/vitable_connect/models/employer_update_settings_response.rbs +0 -48
  585. data/sig/vitable_connect/models/enrollment.rbs +0 -164
  586. data/sig/vitable_connect/models/enrollment_reissue_params.rbs +0 -41
  587. data/sig/vitable_connect/models/enrollment_reissue_response.rbs +0 -28
  588. data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +0 -24
  589. data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +0 -13
  590. data/sig/vitable_connect/models/enrollment_status.rbs +0 -16
  591. data/sig/vitable_connect/models/enrollment_terminate_params.rbs +0 -41
  592. data/sig/vitable_connect/models/group.rbs +0 -45
  593. data/sig/vitable_connect/models/group_create_params.rbs +0 -28
  594. data/sig/vitable_connect/models/group_list_params.rbs +0 -32
  595. data/sig/vitable_connect/models/group_response.rbs +0 -13
  596. data/sig/vitable_connect/models/group_retrieve_params.rbs +0 -23
  597. data/sig/vitable_connect/models/group_update_params.rbs +0 -32
  598. data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +0 -32
  599. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +0 -126
  600. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +0 -124
  601. data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +0 -47
  602. data/sig/vitable_connect/models/member_list_dependents_params.rbs +0 -23
  603. data/sig/vitable_connect/models/member_list_dependents_response.rbs +0 -96
  604. data/sig/vitable_connect/models/member_list_employments_params.rbs +0 -23
  605. data/sig/vitable_connect/models/member_list_employments_response.rbs +0 -14
  606. data/sig/vitable_connect/models/member_list_enrollments_params.rbs +0 -23
  607. data/sig/vitable_connect/models/member_list_enrollments_response.rbs +0 -215
  608. data/sig/vitable_connect/models/member_list_id_cards_params.rbs +0 -23
  609. data/sig/vitable_connect/models/member_list_id_cards_response.rbs +0 -256
  610. data/sig/vitable_connect/models/member_list_params.rbs +0 -38
  611. data/sig/vitable_connect/models/member_list_qualifying_life_events_params.rbs +0 -61
  612. data/sig/vitable_connect/models/member_list_qualifying_life_events_response.rbs +0 -67
  613. data/sig/vitable_connect/models/member_list_response.rbs +0 -82
  614. data/sig/vitable_connect/models/member_retrieve_household_params.rbs +0 -23
  615. data/sig/vitable_connect/models/member_retrieve_household_response.rbs +0 -92
  616. data/sig/vitable_connect/models/member_retrieve_params.rbs +0 -23
  617. data/sig/vitable_connect/models/member_retrieve_response.rbs +0 -143
  618. data/sig/vitable_connect/models/organization_create_params.rbs +0 -52
  619. data/sig/vitable_connect/models/organization_create_response.rbs +0 -77
  620. data/sig/vitable_connect/models/organization_list_params.rbs +0 -15
  621. data/sig/vitable_connect/models/organization_list_response.rbs +0 -99
  622. data/sig/vitable_connect/models/pagination.rbs +0 -30
  623. data/sig/vitable_connect/models/plan_list_params.rbs +0 -32
  624. data/sig/vitable_connect/models/plan_list_response.rbs +0 -15
  625. data/sig/vitable_connect/models/webhook_event.rbs +0 -45
  626. data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +0 -23
  627. data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +0 -77
  628. data/sig/vitable_connect/models/webhook_event_list_params.rbs +0 -126
  629. data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +0 -23
  630. data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +0 -14
  631. data/sig/vitable_connect/models.rbs +0 -109
  632. data/sig/vitable_connect/request_options.rbs +0 -36
  633. data/sig/vitable_connect/resources/auth.rbs +0 -13
  634. data/sig/vitable_connect/resources/employees.rbs +0 -32
  635. data/sig/vitable_connect/resources/employers.rbs +0 -153
  636. data/sig/vitable_connect/resources/enrollments.rbs +0 -28
  637. data/sig/vitable_connect/resources/groups/members/sync.rbs +0 -23
  638. data/sig/vitable_connect/resources/groups/members.rbs +0 -11
  639. data/sig/vitable_connect/resources/groups.rbs +0 -33
  640. data/sig/vitable_connect/resources/members.rbs +0 -52
  641. data/sig/vitable_connect/resources/organizations.rbs +0 -17
  642. data/sig/vitable_connect/resources/plans.rbs +0 -13
  643. data/sig/vitable_connect/resources/webhook_events.rbs +0 -28
  644. data/sig/vitable_connect/version.rbs +0 -3
@@ -0,0 +1,904 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Employers
5
+ class Client
6
+ # @param client [VitableConnect::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Returns the caller's employer book — every employer with its computed columns (enrollment-rate summary,
14
+ # benefit-family tags, HRIS connection, benefit-lifecycle stage) merged with the employer's flat CRM fields (legal
15
+ # name, EIN, contact, address, timestamps). The book is derived from the authenticated principal: one
16
+ # organization's employers, or every organization's for a caller whose reach is not a single organization.
17
+ # Supports search by display name, legal name, or exact EIN, employer id or contact email,
18
+ # benefit-family/lifecycle/HRIS filters, and page/limit pagination.
19
+ #
20
+ # @param request_options [Hash]
21
+ # @param params [Hash]
22
+ # @option request_options [String] :base_url
23
+ # @option request_options [Hash{String => Object}] :additional_headers
24
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
25
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
26
+ # @option request_options [Integer] :timeout_in_seconds
27
+ # @option params [VitableConnect::Types::BenefitFamilyParamItem, nil] :benefit_family
28
+ # @option params [VitableConnect::Types::BenefitLifecycleStageItem, nil] :benefit_lifecycle_stage
29
+ # @option params [String, nil] :hris_provider
30
+ # @option params [VitableConnect::Types::HrisStatusItem, nil] :hris_status
31
+ # @option params [Boolean, nil] :include_cancelled
32
+ # @option params [Integer, nil] :limit
33
+ # @option params [Integer, nil] :page
34
+ # @option params [String, nil] :search
35
+ #
36
+ # @example
37
+ # client.employers.list(
38
+ # limit: 20,
39
+ # page: 1
40
+ # )
41
+ #
42
+ # @return [VitableConnect::Types::OrganizationEmployerListResponse]
43
+ def list(request_options: {}, **params)
44
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
45
+ query_params = {}
46
+ query_params["benefit_family"] = params[:benefit_family] if params.key?(:benefit_family)
47
+ query_params["benefit_lifecycle_stage"] = params[:benefit_lifecycle_stage] if params.key?(:benefit_lifecycle_stage)
48
+ query_params["hris_provider"] = params[:hris_provider] if params.key?(:hris_provider)
49
+ query_params["hris_status"] = params[:hris_status] if params.key?(:hris_status)
50
+ query_params["include_cancelled"] = params[:include_cancelled] if params.key?(:include_cancelled)
51
+ query_params["limit"] = params[:limit] if params.key?(:limit)
52
+ query_params["page"] = params[:page] if params.key?(:page)
53
+ query_params["search"] = params[:search] if params.key?(:search)
54
+
55
+ VitableConnect::Internal::OffsetItemIterator.new(
56
+ initial_page: query_params["page"],
57
+ item_field: :data,
58
+ has_next_field: nil,
59
+ step: false
60
+ ) do |next_page|
61
+ query_params["page"] = next_page
62
+ request = VitableConnect::Internal::JSON::Request.new(
63
+ base_url: request_options[:base_url],
64
+ method: "GET",
65
+ path: "v1/employers",
66
+ query: query_params,
67
+ request_options: request_options
68
+ )
69
+ begin
70
+ response = @client.send(request)
71
+ rescue Net::HTTPRequestTimeout
72
+ raise VitableConnect::Errors::TimeoutError
73
+ end
74
+ code = response.code.to_i
75
+ if code.between?(200, 299)
76
+ parsed_response = VitableConnect::Types::OrganizationEmployerListResponse.load(response.body)
77
+ [parsed_response, response]
78
+ else
79
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
80
+ raise error_class.new(response.body, code: code)
81
+ end
82
+ end
83
+ end
84
+
85
+ # Creates a new employer for the authenticated organization. Requires employer name, legal name, EIN, email, and
86
+ # address information. Returns the created employer with its assigned ID.
87
+ #
88
+ # @param request_options [Hash]
89
+ # @param params [VitableConnect::Employers::Types::CreateEmployerRequest]
90
+ # @option request_options [String] :base_url
91
+ # @option request_options [Hash{String => Object}] :additional_headers
92
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
93
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
94
+ # @option request_options [Integer] :timeout_in_seconds
95
+ #
96
+ # @example
97
+ # client.employers.create(
98
+ # name: "NewCo Industries",
99
+ # legal_name: "NewCo Industries LLC",
100
+ # ein: "12-3456789",
101
+ # email: "hr@newco.com",
102
+ # address: {
103
+ # address_line1: "789 Business Blvd",
104
+ # address_line2: "Floor 5",
105
+ # city: "Seattle",
106
+ # state: "WA",
107
+ # zipcode: "98101"
108
+ # },
109
+ # phone_number: "2065550100",
110
+ # reference_id: "partner-emp-001"
111
+ # )
112
+ #
113
+ # @return [VitableConnect::Types::EmployerResponse]
114
+ def create(request_options: {}, **params)
115
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
116
+ request = VitableConnect::Internal::JSON::Request.new(
117
+ base_url: request_options[:base_url],
118
+ method: "POST",
119
+ path: "v1/employers",
120
+ body: VitableConnect::Employers::Types::CreateEmployerRequest.new(params).to_h,
121
+ request_options: request_options
122
+ )
123
+ begin
124
+ response = @client.send(request)
125
+ rescue Net::HTTPRequestTimeout
126
+ raise VitableConnect::Errors::TimeoutError
127
+ end
128
+ code = response.code.to_i
129
+ if code.between?(200, 299)
130
+ VitableConnect::Types::EmployerResponse.load(response.body)
131
+ else
132
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
133
+ raise error_class.new(response.body, code: code)
134
+ end
135
+ end
136
+
137
+ # Retrieves detailed information for a specific employer by ID. The employer must belong to the authenticated
138
+ # organization.
139
+ #
140
+ # @param request_options [Hash]
141
+ # @param params [Hash]
142
+ # @option request_options [String] :base_url
143
+ # @option request_options [Hash{String => Object}] :additional_headers
144
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
145
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
146
+ # @option request_options [Integer] :timeout_in_seconds
147
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
148
+ #
149
+ # @example
150
+ # client.employers.get(employer_id: "empr_abc123def456")
151
+ #
152
+ # @return [VitableConnect::Types::EmployerResponse]
153
+ def get(request_options: {}, **params)
154
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
155
+ request = VitableConnect::Internal::JSON::Request.new(
156
+ base_url: request_options[:base_url],
157
+ method: "GET",
158
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}",
159
+ request_options: request_options
160
+ )
161
+ begin
162
+ response = @client.send(request)
163
+ rescue Net::HTTPRequestTimeout
164
+ raise VitableConnect::Errors::TimeoutError
165
+ end
166
+ code = response.code.to_i
167
+ if code.between?(200, 299)
168
+ VitableConnect::Types::EmployerResponse.load(response.body)
169
+ else
170
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
171
+ raise error_class.new(response.body, code: code)
172
+ end
173
+ end
174
+
175
+ # Updates an existing employer. All fields are optional — only provided fields are updated. PO Box addresses are
176
+ # rejected.
177
+ #
178
+ # @param request_options [Hash]
179
+ # @param params [VitableConnect::Employers::Types::UpdateEmployerRequest]
180
+ # @option request_options [String] :base_url
181
+ # @option request_options [Hash{String => Object}] :additional_headers
182
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
183
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
184
+ # @option request_options [Integer] :timeout_in_seconds
185
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
186
+ #
187
+ # @example
188
+ # client.employers.update(employer_id: "empr_abc123def456")
189
+ #
190
+ # @return [VitableConnect::Types::EmployerResponse]
191
+ def update(request_options: {}, **params)
192
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
193
+ request_data = VitableConnect::Employers::Types::UpdateEmployerRequest.new(params).to_h
194
+ non_body_param_names = %w[employer_id]
195
+ body = request_data.except(*non_body_param_names)
196
+
197
+ request = VitableConnect::Internal::JSON::Request.new(
198
+ base_url: request_options[:base_url],
199
+ method: "PUT",
200
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}",
201
+ body: body,
202
+ request_options: request_options
203
+ )
204
+ begin
205
+ response = @client.send(request)
206
+ rescue Net::HTTPRequestTimeout
207
+ raise VitableConnect::Errors::TimeoutError
208
+ end
209
+ code = response.code.to_i
210
+ if code.between?(200, 299)
211
+ VitableConnect::Types::EmployerResponse.load(response.body)
212
+ else
213
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
214
+ raise error_class.new(response.body, code: code)
215
+ end
216
+ end
217
+
218
+ # Returns the employer's benefit plan years (all years, or one when `year` is given), each with its benefits,
219
+ # offered states, benefit families, and the year-level enrollment roll-up. The caller must be authorized for the
220
+ # employer; an unknown or unauthorized employer returns 404.
221
+ #
222
+ # @param request_options [Hash]
223
+ # @param params [Hash]
224
+ # @option request_options [String] :base_url
225
+ # @option request_options [Hash{String => Object}] :additional_headers
226
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
227
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
228
+ # @option request_options [Integer] :timeout_in_seconds
229
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
230
+ #
231
+ # @example
232
+ # client.employers.list_benefit_plan_years(employer_id: "empr_abc123def456")
233
+ #
234
+ # @return [VitableConnect::Types::EmployerBenefitPlanYearsListResponse]
235
+ def list_benefit_plan_years(request_options: {}, **params)
236
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
237
+ request = VitableConnect::Internal::JSON::Request.new(
238
+ base_url: request_options[:base_url],
239
+ method: "GET",
240
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/benefit-plan-years",
241
+ request_options: request_options
242
+ )
243
+ begin
244
+ response = @client.send(request)
245
+ rescue Net::HTTPRequestTimeout
246
+ raise VitableConnect::Errors::TimeoutError
247
+ end
248
+ code = response.code.to_i
249
+ if code.between?(200, 299)
250
+ VitableConnect::Types::EmployerBenefitPlanYearsListResponse.load(response.body)
251
+ else
252
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
253
+ raise error_class.new(response.body, code: code)
254
+ end
255
+ end
256
+
257
+ # Returns one benefit plan year in full — its benefit details plus the per-benefit enrollment rate and SPD link —
258
+ # addressed by its `benefit_plan_year_id`. The caller must be authorized for the employer; an unknown or
259
+ # unauthorized plan year returns 404.
260
+ #
261
+ # @param request_options [Hash]
262
+ # @param params [Hash]
263
+ # @option request_options [String] :base_url
264
+ # @option request_options [Hash{String => Object}] :additional_headers
265
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
266
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
267
+ # @option request_options [Integer] :timeout_in_seconds
268
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
269
+ # @option params [VitableConnect::Types::BenefitPlanYearID] :benefit_plan_year_id
270
+ #
271
+ # @example
272
+ # client.employers.get_benefit_plan_year(
273
+ # employer_id: "empr_abc123def456",
274
+ # benefit_plan_year_id: "plyr_abc123def456"
275
+ # )
276
+ #
277
+ # @return [VitableConnect::Types::EmployerBenefitPlanYearResponse]
278
+ def get_benefit_plan_year(request_options: {}, **params)
279
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
280
+ request = VitableConnect::Internal::JSON::Request.new(
281
+ base_url: request_options[:base_url],
282
+ method: "GET",
283
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/benefit-plan-years/#{URI.encode_uri_component(params[:benefit_plan_year_id].to_s)}",
284
+ request_options: request_options
285
+ )
286
+ begin
287
+ response = @client.send(request)
288
+ rescue Net::HTTPRequestTimeout
289
+ raise VitableConnect::Errors::TimeoutError
290
+ end
291
+ code = response.code.to_i
292
+ if code.between?(200, 299)
293
+ VitableConnect::Types::EmployerBenefitPlanYearResponse.load(response.body)
294
+ else
295
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
296
+ raise error_class.new(response.body, code: code)
297
+ end
298
+ end
299
+
300
+ # Returns a paginated list of every member with an enrollment in one of an employer's plan years, any election
301
+ # status: what they elected, where their coverage stands, dependent count, carrier, plan, tier, and the plan's
302
+ # total monthly cost. The caller must be authorized for the employer `empr_<...>`; an unknown or unauthorized
303
+ # employer, or an unknown plan year `plyr_<...>`, returns 404.
304
+ #
305
+ # @param request_options [Hash]
306
+ # @param params [Hash]
307
+ # @option request_options [String] :base_url
308
+ # @option request_options [Hash{String => Object}] :additional_headers
309
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
310
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
311
+ # @option request_options [Integer] :timeout_in_seconds
312
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
313
+ # @option params [VitableConnect::Types::BenefitPlanYearID] :benefit_plan_year_id
314
+ # @option params [VitableConnect::Types::ElectionStatusItem, nil] :election_status
315
+ # @option params [Integer, nil] :limit
316
+ # @option params [Integer, nil] :page
317
+ # @option params [String, nil] :search
318
+ #
319
+ # @example
320
+ # client.employers.list_benefit_plan_year_enrollments(
321
+ # employer_id: "empr_abc123def456",
322
+ # benefit_plan_year_id: "plyr_abc123def456",
323
+ # limit: 20,
324
+ # page: 1
325
+ # )
326
+ #
327
+ # @return [VitableConnect::Types::PlanYearEnrollmentListResponse]
328
+ def list_benefit_plan_year_enrollments(request_options: {}, **params)
329
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
330
+ query_params = {}
331
+ query_params["election_status"] = params[:election_status] if params.key?(:election_status)
332
+ query_params["limit"] = params[:limit] if params.key?(:limit)
333
+ query_params["page"] = params[:page] if params.key?(:page)
334
+ query_params["search"] = params[:search] if params.key?(:search)
335
+
336
+ VitableConnect::Internal::OffsetItemIterator.new(
337
+ initial_page: query_params["page"],
338
+ item_field: :data,
339
+ has_next_field: nil,
340
+ step: false
341
+ ) do |next_page|
342
+ query_params["page"] = next_page
343
+ request = VitableConnect::Internal::JSON::Request.new(
344
+ base_url: request_options[:base_url],
345
+ method: "GET",
346
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/benefit-plan-years/#{URI.encode_uri_component(params[:benefit_plan_year_id].to_s)}/enrollments",
347
+ query: query_params,
348
+ request_options: request_options
349
+ )
350
+ begin
351
+ response = @client.send(request)
352
+ rescue Net::HTTPRequestTimeout
353
+ raise VitableConnect::Errors::TimeoutError
354
+ end
355
+ code = response.code.to_i
356
+ if code.between?(200, 299)
357
+ parsed_response = VitableConnect::Types::PlanYearEnrollmentListResponse.load(response.body)
358
+ [parsed_response, response]
359
+ else
360
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
361
+ raise error_class.new(response.body, code: code)
362
+ end
363
+ end
364
+ end
365
+
366
+ # Submits a census sync payload for the specified employer. The employees in the payload will be queued for
367
+ # processing. Returns an accepted response with the timestamp of acceptance.
368
+ #
369
+ # @param request_options [Hash]
370
+ # @param params [VitableConnect::Employers::Types::CensusSyncRequest]
371
+ # @option request_options [String] :base_url
372
+ # @option request_options [Hash{String => Object}] :additional_headers
373
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
374
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
375
+ # @option request_options [Integer] :timeout_in_seconds
376
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
377
+ #
378
+ # @example
379
+ # client.employers.submit_census_sync(
380
+ # employer_id: "empr_abc123def456",
381
+ # employees: [{
382
+ # reference_id: "EMP-001",
383
+ # first_name: "Jane",
384
+ # last_name: "Doe",
385
+ # date_of_birth: "1990-05-15",
386
+ # email: "jane.doe@acme.com",
387
+ # phone: "4155550100",
388
+ # address: {
389
+ # address_line1: "123 Main Street",
390
+ # address_line2: "Apt 4B",
391
+ # city: "San Francisco",
392
+ # state: "CA",
393
+ # zipcode: "94102"
394
+ # },
395
+ # start_date: "2024-01-15",
396
+ # employee_class: "Full Time",
397
+ # compensation_type: "Salary"
398
+ # }, {
399
+ # first_name: "John",
400
+ # last_name: "Smith",
401
+ # date_of_birth: "1985-11-20",
402
+ # email: "john.smith@acme.com",
403
+ # phone: "4155550101",
404
+ # start_date: "2024-03-01",
405
+ # employee_class: "Part Time",
406
+ # compensation_type: "Hourly"
407
+ # }]
408
+ # )
409
+ #
410
+ # @return [VitableConnect::Types::CensusSyncDetailResponse]
411
+ def submit_census_sync(request_options: {}, **params)
412
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
413
+ request_data = VitableConnect::Employers::Types::CensusSyncRequest.new(params).to_h
414
+ non_body_param_names = %w[employer_id]
415
+ body = request_data.except(*non_body_param_names)
416
+
417
+ request = VitableConnect::Internal::JSON::Request.new(
418
+ base_url: request_options[:base_url],
419
+ method: "POST",
420
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/census-sync",
421
+ body: body,
422
+ request_options: request_options
423
+ )
424
+ begin
425
+ response = @client.send(request)
426
+ rescue Net::HTTPRequestTimeout
427
+ raise VitableConnect::Errors::TimeoutError
428
+ end
429
+ code = response.code.to_i
430
+ if code.between?(200, 299)
431
+ VitableConnect::Types::CensusSyncDetailResponse.load(response.body)
432
+ else
433
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
434
+ raise error_class.new(response.body, code: code)
435
+ end
436
+ end
437
+
438
+ # Retrieves a paginated list of employees for a specific employer. The caller must be authorized for the employer;
439
+ # an unknown or unauthorized employer returns 404. Results are paginated using page and limit parameters and can
440
+ # be narrowed with a case-insensitive `search` (first name, last name, or email) and an `employment_status` filter
441
+ # (active or terminated). Each employee includes payroll deductions from the most recent statement period. When a
442
+ # new deduction statement is generated, previous period deductions are replaced.
443
+ #
444
+ # @param request_options [Hash]
445
+ # @param params [Hash]
446
+ # @option request_options [String] :base_url
447
+ # @option request_options [Hash{String => Object}] :additional_headers
448
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
449
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
450
+ # @option request_options [Integer] :timeout_in_seconds
451
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
452
+ # @option params [VitableConnect::Types::EmployeeStatus, nil] :employment_status
453
+ # @option params [Integer, nil] :limit
454
+ # @option params [Integer, nil] :page
455
+ # @option params [String, nil] :search
456
+ #
457
+ # @example
458
+ # client.employers.list_employees(
459
+ # employer_id: "empr_abc123def456",
460
+ # limit: 20,
461
+ # page: 1,
462
+ # search: "jane"
463
+ # )
464
+ #
465
+ # @return [VitableConnect::Types::EmployeeListResponse]
466
+ def list_employees(request_options: {}, **params)
467
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
468
+ query_params = {}
469
+ query_params["employment_status"] = params[:employment_status] if params.key?(:employment_status)
470
+ query_params["limit"] = params[:limit] if params.key?(:limit)
471
+ query_params["page"] = params[:page] if params.key?(:page)
472
+ query_params["search"] = params[:search] if params.key?(:search)
473
+
474
+ VitableConnect::Internal::OffsetItemIterator.new(
475
+ initial_page: query_params["page"],
476
+ item_field: :data,
477
+ has_next_field: nil,
478
+ step: false
479
+ ) do |next_page|
480
+ query_params["page"] = next_page
481
+ request = VitableConnect::Internal::JSON::Request.new(
482
+ base_url: request_options[:base_url],
483
+ method: "GET",
484
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/employees",
485
+ query: query_params,
486
+ request_options: request_options
487
+ )
488
+ begin
489
+ response = @client.send(request)
490
+ rescue Net::HTTPRequestTimeout
491
+ raise VitableConnect::Errors::TimeoutError
492
+ end
493
+ code = response.code.to_i
494
+ if code.between?(200, 299)
495
+ parsed_response = VitableConnect::Types::EmployeeListResponse.load(response.body)
496
+ [parsed_response, response]
497
+ else
498
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
499
+ raise error_class.new(response.body, code: code)
500
+ end
501
+ end
502
+ end
503
+
504
+ # Returns the employer's HRIS connection — provider, status, last sync, and synced row count — or null when the
505
+ # employer has no integration. The caller must be authorized for the employer; an unknown or unauthorized employer
506
+ # returns 404.
507
+ #
508
+ # @param request_options [Hash]
509
+ # @param params [Hash]
510
+ # @option request_options [String] :base_url
511
+ # @option request_options [Hash{String => Object}] :additional_headers
512
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
513
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
514
+ # @option request_options [Integer] :timeout_in_seconds
515
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
516
+ #
517
+ # @example
518
+ # client.employers.get_hris(employer_id: "empr_abc123def456")
519
+ #
520
+ # @return [VitableConnect::Types::EmployerHrisResponse]
521
+ def get_hris(request_options: {}, **params)
522
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
523
+ request = VitableConnect::Internal::JSON::Request.new(
524
+ base_url: request_options[:base_url],
525
+ method: "GET",
526
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/hris",
527
+ request_options: request_options
528
+ )
529
+ begin
530
+ response = @client.send(request)
531
+ rescue Net::HTTPRequestTimeout
532
+ raise VitableConnect::Errors::TimeoutError
533
+ end
534
+ code = response.code.to_i
535
+ if code.between?(200, 299)
536
+ VitableConnect::Types::EmployerHrisResponse.load(response.body)
537
+ else
538
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
539
+ raise error_class.new(response.body, code: code)
540
+ end
541
+ end
542
+
543
+ # Returns a cursor-paginated page of the employer's billing invoices, newest first. Pass the `next_offset` from a
544
+ # previous page as `offset` to fetch the next page. The caller must be authorized for the employer; an unknown or
545
+ # unauthorized employer returns 404.
546
+ #
547
+ # @param request_options [Hash]
548
+ # @param params [Hash]
549
+ # @option request_options [String] :base_url
550
+ # @option request_options [Hash{String => Object}] :additional_headers
551
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
552
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
553
+ # @option request_options [Integer] :timeout_in_seconds
554
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
555
+ # @option params [Integer, nil] :limit
556
+ # @option params [String, nil] :offset
557
+ #
558
+ # @example
559
+ # client.employers.list_invoices(
560
+ # employer_id: "empr_abc123def456",
561
+ # limit: 20
562
+ # )
563
+ #
564
+ # @return [VitableConnect::Types::EmployerInvoicesListResponse]
565
+ def list_invoices(request_options: {}, **params)
566
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
567
+ query_params = {}
568
+ query_params["limit"] = params[:limit] if params.key?(:limit)
569
+ query_params["offset"] = params[:offset] if params.key?(:offset)
570
+
571
+ request = VitableConnect::Internal::JSON::Request.new(
572
+ base_url: request_options[:base_url],
573
+ method: "GET",
574
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/invoices",
575
+ query: query_params,
576
+ request_options: request_options
577
+ )
578
+ begin
579
+ response = @client.send(request)
580
+ rescue Net::HTTPRequestTimeout
581
+ raise VitableConnect::Errors::TimeoutError
582
+ end
583
+ code = response.code.to_i
584
+ if code.between?(200, 299)
585
+ VitableConnect::Types::EmployerInvoicesListResponse.load(response.body)
586
+ else
587
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
588
+ raise error_class.new(response.body, code: code)
589
+ end
590
+ end
591
+
592
+ # Returns the time-limited PDF download link for a single invoice belonging to the employer's billing customer.
593
+ # `invoice_id` is the external Chargebee id (not a prefixed UUID). The caller must be authorized for the employer;
594
+ # an unknown or unauthorized employer or invoice returns 404.
595
+ #
596
+ # @param request_options [Hash]
597
+ # @param params [Hash]
598
+ # @option request_options [String] :base_url
599
+ # @option request_options [Hash{String => Object}] :additional_headers
600
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
601
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
602
+ # @option request_options [Integer] :timeout_in_seconds
603
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
604
+ # @option params [VitableConnect::Types::InvoiceID] :invoice_id
605
+ #
606
+ # @example
607
+ # client.employers.get_invoice_pdf(
608
+ # employer_id: "empr_abc123def456",
609
+ # invoice_id: "INV-00042"
610
+ # )
611
+ #
612
+ # @return [VitableConnect::Types::EmployerInvoicePdfResponse]
613
+ def get_invoice_pdf(request_options: {}, **params)
614
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
615
+ request = VitableConnect::Internal::JSON::Request.new(
616
+ base_url: request_options[:base_url],
617
+ method: "GET",
618
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/invoices/#{URI.encode_uri_component(params[:invoice_id].to_s)}/pdf",
619
+ request_options: request_options
620
+ )
621
+ begin
622
+ response = @client.send(request)
623
+ rescue Net::HTTPRequestTimeout
624
+ raise VitableConnect::Errors::TimeoutError
625
+ end
626
+ code = response.code.to_i
627
+ if code.between?(200, 299)
628
+ VitableConnect::Types::EmployerInvoicePdfResponse.load(response.body)
629
+ else
630
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
631
+ raise error_class.new(response.body, code: code)
632
+ end
633
+ end
634
+
635
+ # Return whether the employer has submitted payroll access setup.
636
+ #
637
+ # @param request_options [Hash]
638
+ # @param params [Hash]
639
+ # @option request_options [String] :base_url
640
+ # @option request_options [Hash{String => Object}] :additional_headers
641
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
642
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
643
+ # @option request_options [Integer] :timeout_in_seconds
644
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
645
+ #
646
+ # @example
647
+ # client.employers.get_payroll_access_setup(employer_id: "empr_abc123def456")
648
+ #
649
+ # @return [VitableConnect::Types::PayrollAccessSetupStatusResponse]
650
+ def get_payroll_access_setup(request_options: {}, **params)
651
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
652
+ request = VitableConnect::Internal::JSON::Request.new(
653
+ base_url: request_options[:base_url],
654
+ method: "GET",
655
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/payroll-access-setup",
656
+ request_options: request_options
657
+ )
658
+ begin
659
+ response = @client.send(request)
660
+ rescue Net::HTTPRequestTimeout
661
+ raise VitableConnect::Errors::TimeoutError
662
+ end
663
+ code = response.code.to_i
664
+ if code.between?(200, 299)
665
+ VitableConnect::Types::PayrollAccessSetupStatusResponse.load(response.body)
666
+ else
667
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
668
+ raise error_class.new(response.body, code: code)
669
+ end
670
+ end
671
+
672
+ # Submit the employer's payroll access setup answers.
673
+ #
674
+ # @param request_options [Hash]
675
+ # @param params [VitableConnect::Employers::Types::SubmitPayrollAccessSetupRequest]
676
+ # @option request_options [String] :base_url
677
+ # @option request_options [Hash{String => Object}] :additional_headers
678
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
679
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
680
+ # @option request_options [Integer] :timeout_in_seconds
681
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
682
+ #
683
+ # @example
684
+ # client.employers.submit_payroll_access_setup(
685
+ # employer_id: "empr_abc123def456",
686
+ # employees_in_payroll_acknowledged: true,
687
+ # payroll_data_impacts_eligibility_acknowledged: true,
688
+ # classifications_accurate: true,
689
+ # all_benefit_eligible_employees_present: true,
690
+ # is_controlled_group: true,
691
+ # access_method: "SELF_SETUP",
692
+ # has_additional_payroll_system: true
693
+ # )
694
+ #
695
+ # @return [VitableConnect::Types::PayrollAccessSetupStatusResponse]
696
+ def submit_payroll_access_setup(request_options: {}, **params)
697
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
698
+ request_data = VitableConnect::Employers::Types::SubmitPayrollAccessSetupRequest.new(params).to_h
699
+ non_body_param_names = %w[employer_id]
700
+ body = request_data.except(*non_body_param_names)
701
+
702
+ request = VitableConnect::Internal::JSON::Request.new(
703
+ base_url: request_options[:base_url],
704
+ method: "PUT",
705
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/payroll-access-setup",
706
+ body: body,
707
+ request_options: request_options
708
+ )
709
+ begin
710
+ response = @client.send(request)
711
+ rescue Net::HTTPRequestTimeout
712
+ raise VitableConnect::Errors::TimeoutError
713
+ end
714
+ code = response.code.to_i
715
+ if code.between?(200, 299)
716
+ VitableConnect::Types::PayrollAccessSetupStatusResponse.load(response.body)
717
+ else
718
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
719
+ raise error_class.new(response.body, code: code)
720
+ end
721
+ end
722
+
723
+ # Returns a paginated list of the employer's payroll-deduction statements, newest period first, each with its
724
+ # period, generation date, distinct employee count, total deduction, change-file link, and deduction frequency.
725
+ # Statements superseded by a later correction are excluded. The caller must be authorized for the employer; an
726
+ # unknown or unauthorized employer returns 404.
727
+ #
728
+ # @param request_options [Hash]
729
+ # @param params [Hash]
730
+ # @option request_options [String] :base_url
731
+ # @option request_options [Hash{String => Object}] :additional_headers
732
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
733
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
734
+ # @option request_options [Integer] :timeout_in_seconds
735
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
736
+ # @option params [Integer, nil] :limit
737
+ # @option params [Integer, nil] :page
738
+ #
739
+ # @example
740
+ # client.employers.list_payroll_deduction_statements(
741
+ # employer_id: "empr_abc123def456",
742
+ # limit: 20,
743
+ # page: 1
744
+ # )
745
+ #
746
+ # @return [VitableConnect::Types::EmployerPayrollDeductionStatementListResponse]
747
+ def list_payroll_deduction_statements(request_options: {}, **params)
748
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
749
+ query_params = {}
750
+ query_params["limit"] = params[:limit] if params.key?(:limit)
751
+ query_params["page"] = params[:page] if params.key?(:page)
752
+
753
+ VitableConnect::Internal::OffsetItemIterator.new(
754
+ initial_page: query_params["page"],
755
+ item_field: :data,
756
+ has_next_field: nil,
757
+ step: false
758
+ ) do |next_page|
759
+ query_params["page"] = next_page
760
+ request = VitableConnect::Internal::JSON::Request.new(
761
+ base_url: request_options[:base_url],
762
+ method: "GET",
763
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/payroll-deduction-statements",
764
+ query: query_params,
765
+ request_options: request_options
766
+ )
767
+ begin
768
+ response = @client.send(request)
769
+ rescue Net::HTTPRequestTimeout
770
+ raise VitableConnect::Errors::TimeoutError
771
+ end
772
+ code = response.code.to_i
773
+ if code.between?(200, 299)
774
+ parsed_response = VitableConnect::Types::EmployerPayrollDeductionStatementListResponse.load(response.body)
775
+ [parsed_response, response]
776
+ else
777
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
778
+ raise error_class.new(response.body, code: code)
779
+ end
780
+ end
781
+ end
782
+
783
+ # Provision and return the employer's payroll integration email.
784
+ #
785
+ # @param request_options [Hash]
786
+ # @param params [Hash]
787
+ # @option request_options [String] :base_url
788
+ # @option request_options [Hash{String => Object}] :additional_headers
789
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
790
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
791
+ # @option request_options [Integer] :timeout_in_seconds
792
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
793
+ #
794
+ # @example
795
+ # client.employers.ensure_payroll_integration_email(employer_id: "empr_abc123def456")
796
+ #
797
+ # @return [VitableConnect::Types::PayrollIntegrationEmailResponse]
798
+ def ensure_payroll_integration_email(request_options: {}, **params)
799
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
800
+ request = VitableConnect::Internal::JSON::Request.new(
801
+ base_url: request_options[:base_url],
802
+ method: "PUT",
803
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/payroll-integration-email",
804
+ request_options: request_options
805
+ )
806
+ begin
807
+ response = @client.send(request)
808
+ rescue Net::HTTPRequestTimeout
809
+ raise VitableConnect::Errors::TimeoutError
810
+ end
811
+ code = response.code.to_i
812
+ if code.between?(200, 299)
813
+ VitableConnect::Types::PayrollIntegrationEmailResponse.load(response.body)
814
+ else
815
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
816
+ raise error_class.new(response.body, code: code)
817
+ end
818
+ end
819
+
820
+ # Updates configuration settings for a specific employer. The employer must belong to the authenticated
821
+ # organization.
822
+ #
823
+ # @param request_options [Hash]
824
+ # @param params [VitableConnect::Employers::Types::UpdateEmployerSettingsRequest]
825
+ # @option request_options [String] :base_url
826
+ # @option request_options [Hash{String => Object}] :additional_headers
827
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
828
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
829
+ # @option request_options [Integer] :timeout_in_seconds
830
+ # @option params [VitableConnect::Types::EmployerID] :employer_id
831
+ #
832
+ # @example
833
+ # client.employers.update_settings(
834
+ # employer_id: "empr_abc123def456",
835
+ # pay_frequency: "bi_weekly"
836
+ # )
837
+ #
838
+ # @return [VitableConnect::Types::EmployerSettingsResponse]
839
+ def update_settings(request_options: {}, **params)
840
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
841
+ request_data = VitableConnect::Employers::Types::UpdateEmployerSettingsRequest.new(params).to_h
842
+ non_body_param_names = %w[employer_id]
843
+ body = request_data.except(*non_body_param_names)
844
+
845
+ request = VitableConnect::Internal::JSON::Request.new(
846
+ base_url: request_options[:base_url],
847
+ method: "PUT",
848
+ path: "v1/employers/#{URI.encode_uri_component(params[:employer_id].to_s)}/settings",
849
+ body: body,
850
+ request_options: request_options
851
+ )
852
+ begin
853
+ response = @client.send(request)
854
+ rescue Net::HTTPRequestTimeout
855
+ raise VitableConnect::Errors::TimeoutError
856
+ end
857
+ code = response.code.to_i
858
+ if code.between?(200, 299)
859
+ VitableConnect::Types::EmployerSettingsResponse.load(response.body)
860
+ else
861
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
862
+ raise error_class.new(response.body, code: code)
863
+ end
864
+ end
865
+
866
+ # Returns the distinct HRIS/payroll providers across the same book `GET /v1/employers` returns, sorted for
867
+ # display. Use these as the values for the employers list's `hris_provider` filter — filter on `provider`, show
868
+ # `provider_label`. The stored providers are free text, so they cannot be enumerated in advance.
869
+ #
870
+ # @param request_options [Hash]
871
+ # @param _params [Hash]
872
+ # @option request_options [String] :base_url
873
+ # @option request_options [Hash{String => Object}] :additional_headers
874
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
875
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
876
+ # @option request_options [Integer] :timeout_in_seconds
877
+ #
878
+ # @example
879
+ # client.employers.list_hris_providers
880
+ #
881
+ # @return [VitableConnect::Types::OrganizationHrisProvidersResponse]
882
+ def list_hris_providers(request_options: {}, **_params)
883
+ request = VitableConnect::Internal::JSON::Request.new(
884
+ base_url: request_options[:base_url],
885
+ method: "GET",
886
+ path: "v1/employers/hris-providers",
887
+ request_options: request_options
888
+ )
889
+ begin
890
+ response = @client.send(request)
891
+ rescue Net::HTTPRequestTimeout
892
+ raise VitableConnect::Errors::TimeoutError
893
+ end
894
+ code = response.code.to_i
895
+ if code.between?(200, 299)
896
+ VitableConnect::Types::OrganizationHrisProvidersResponse.load(response.body)
897
+ else
898
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
899
+ raise error_class.new(response.body, code: code)
900
+ end
901
+ end
902
+ end
903
+ end
904
+ end