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
data/README.md CHANGED
@@ -1,8 +1,27 @@
1
- # Vitable Connect Ruby API library
2
-
3
- The Vitable Connect Ruby library provides convenient access to the Vitable Connect REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/Vitable-Inc/vitable-connect-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem.
4
-
5
- It is generated with [Stainless](https://www.stainless.com/).
1
+ # Vitable Ruby Library
2
+
3
+ [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-Built%20with%20Fern-brightgreen)](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2FVitable-Inc%2Fvitable-connect-ruby)
4
+
5
+ The Vitable Ruby library provides convenient access to the Vitable APIs from Ruby.
6
+
7
+ ## Table of Contents
8
+
9
+ - [Documentation](#documentation)
10
+ - [Installation](#installation)
11
+ - [Reference](#reference)
12
+ - [Usage](#usage)
13
+ - [Advanced Concepts](#advanced-concepts)
14
+ - [Sorbet](#sorbet)
15
+ - [Versioning](#versioning)
16
+ - [Requirements](#requirements)
17
+ - [Environments](#environments)
18
+ - [Errors](#errors)
19
+ - [Advanced](#advanced)
20
+ - [Retries](#retries)
21
+ - [Timeouts](#timeouts)
22
+ - [Additional Headers](#additional-headers)
23
+ - [Additional Query Parameters](#additional-query-parameters)
24
+ - [Contributing](#contributing)
6
25
 
7
26
  ## Documentation
8
27
 
@@ -22,123 +41,22 @@ gem "vitable-connect", "~> 0.6.0"
22
41
 
23
42
  <!-- x-release-please-end -->
24
43
 
25
- ## Usage
26
-
27
- ```ruby
28
- require "bundler/setup"
29
- require "vitable_connect"
30
-
31
- vitable_connect = VitableConnect::Client.new(
32
- api_key: ENV["VITABLE_CONNECT_API_KEY"], # This is the default and can be omitted
33
- environment: "environment_1" # defaults to "production"
34
- )
35
-
36
- response = vitable_connect.auth.issue_access_token(grant_type: "client_credentials")
37
-
38
- puts(response.access_token)
39
- ```
40
-
41
- ### Pagination
42
-
43
- List methods in the Vitable Connect API are paginated.
44
-
45
- This library provides auto-paginating iterators with each list response, so you do not have to request successive pages manually:
46
-
47
- ```ruby
48
- page = vitable_connect.employees.list_enrollments
49
-
50
- # Fetch single item from page.
51
- employee = page.data[0]
52
- puts(employee.id)
53
-
54
- # Automatically fetches more pages as needed.
55
- page.auto_paging_each do |employee|
56
- puts(employee.id)
57
- end
58
- ```
59
-
60
- Alternatively, you can use the `#next_page?` and `#next_page` methods for more granular control working with pages.
61
-
62
- ```ruby
63
- if page.next_page?
64
- new_page = page.next_page
65
- puts(new_page.data[0].id)
66
- end
67
- ```
68
-
69
- ### Handling errors
70
-
71
- When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `VitableConnect::Errors::APIError` will be thrown:
72
-
73
- ```ruby
74
- begin
75
- auth = vitable_connect.auth.issue_access_token(grant_type: "client_credentials")
76
- rescue VitableConnect::Errors::APIConnectionError => e
77
- puts("The server could not be reached")
78
- puts(e.cause) # an underlying Exception, likely raised within `net/http`
79
- rescue VitableConnect::Errors::RateLimitError => e
80
- puts("A 429 status code was received; we should back off a bit.")
81
- rescue VitableConnect::Errors::APIStatusError => e
82
- puts("Another non-200-range status code was received")
83
- puts(e.status)
84
- end
85
- ```
86
-
87
- Error codes are as follows:
88
-
89
- | Cause | Error Type |
90
- | ---------------- | -------------------------- |
91
- | HTTP 400 | `BadRequestError` |
92
- | HTTP 401 | `AuthenticationError` |
93
- | HTTP 403 | `PermissionDeniedError` |
94
- | HTTP 404 | `NotFoundError` |
95
- | HTTP 409 | `ConflictError` |
96
- | HTTP 422 | `UnprocessableEntityError` |
97
- | HTTP 429 | `RateLimitError` |
98
- | HTTP >= 500 | `InternalServerError` |
99
- | Other HTTP error | `APIStatusError` |
100
- | Timeout | `APITimeoutError` |
101
- | Network error | `APIConnectionError` |
102
-
103
- ### Retries
44
+ ## Reference
104
45
 
105
- Certain errors will be automatically retried 2 times by default, with a short exponential backoff.
46
+ A full reference for this library is available [here](https://github.com/Vitable-Inc/vitable-connect-ruby/blob/HEAD/./reference.md).
106
47
 
107
- Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict, 429 Rate Limit, >=500 Internal errors, and timeouts will all be retried by default.
48
+ ## Usage
108
49
 
109
- You can use the `max_retries` option to configure or disable this:
50
+ Instantiate and use the client with the following:
110
51
 
111
52
  ```ruby
112
- # Configure the default for all requests:
113
- vitable_connect = VitableConnect::Client.new(
114
- max_retries: 0 # default is 2
115
- )
116
-
117
- # Or, configure per-request:
118
- vitable_connect.auth.issue_access_token(
119
- grant_type: "client_credentials",
120
- request_options: {max_retries: 5}
121
- )
122
- ```
123
-
124
- ### Timeouts
53
+ require "vitableconnect"
125
54
 
126
- By default, requests will time out after 60 seconds. You can use the timeout option to configure or disable this:
55
+ client = VitableConnect::Client.new(api_key: "<token>")
127
56
 
128
- ```ruby
129
- # Configure the default for all requests:
130
- vitable_connect = VitableConnect::Client.new(
131
- timeout: nil # default is 60
132
- )
133
-
134
- # Or, configure per-request:
135
- vitable_connect.auth.issue_access_token(grant_type: "client_credentials", request_options: {timeout: 5})
57
+ client.auth.issue_access_token(grant_type: "client_credentials")
136
58
  ```
137
59
 
138
- On timeout, `VitableConnect::Errors::APITimeoutError` is raised.
139
-
140
- Note that requests that time out are retried by default.
141
-
142
60
  ## Advanced concepts
143
61
 
144
62
  ### BaseModel
@@ -262,6 +180,135 @@ This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` typ
262
180
 
263
181
  Ruby 3.2.0 or higher.
264
182
 
183
+ ## Environments
184
+
185
+ This SDK allows you to configure different environments or custom URLs for API requests. You can either use the predefined environments or specify your own custom URL.
186
+ ### Environments
187
+ ```ruby
188
+ require "VitableConnect"
189
+
190
+ VitableConnect = VitableConnect::Client.new(
191
+ base_url: VitableConnect::Environment::PRODUCTION
192
+ )
193
+ ```
194
+
195
+ ### Custom URL
196
+ ```ruby
197
+ require "VitableConnect"
198
+
199
+ client = VitableConnect::Client.new(
200
+ base_url: "https://example.com"
201
+ )
202
+ ```
203
+
204
+ ## Errors
205
+
206
+ Failed API calls will raise errors that can be rescued from granularly.
207
+
208
+ ```ruby
209
+ require "VitableConnect"
210
+
211
+ client = VitableConnect::Client.new(
212
+ base_url: "https://example.com"
213
+ )
214
+
215
+ begin
216
+ result = client.auth.issue_access_token
217
+ rescue VitableConnect::Errors::TimeoutError
218
+ puts "API didn't respond before our timeout elapsed"
219
+ rescue VitableConnect::Errors::ServiceUnavailableError
220
+ puts "API returned status 503, is probably overloaded, try again later"
221
+ rescue VitableConnect::Errors::ServerError
222
+ puts "API returned some other 5xx status, this is probably a bug"
223
+ rescue VitableConnect::Errors::ResponseError => e
224
+ puts "API returned an unexpected status other than 5xx: #{e.code} #{e.message}"
225
+ rescue VitableConnect::Errors::ApiError => e
226
+ puts "Some other error occurred when calling the API: #{e.message}"
227
+ end
228
+ ```
229
+
230
+ ## Advanced
231
+
232
+ ### Retries
233
+
234
+ The SDK is instrumented with automatic retries. A request will be retried as long as the request is deemed
235
+ retryable and the number of retry attempts has not grown larger than the configured retry limit (default: 2).
236
+
237
+ A request is deemed retryable when any of the following HTTP status codes is returned:
238
+
239
+ - [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout)
240
+ - [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests)
241
+ - [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#server_error_responses) (Internal Server Error)
242
+
243
+ The `retryStatusCodes` configuration controls which [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#server_error_responses) status codes are retried:
244
+
245
+ - `legacy` (default): Retries `408`, `429`, `500`, `502`, `503`, `504`, `521`, `522`, `524`
246
+ - `recommended`: Retries `408`, `429`, `502`, `503`, `504` only (excludes `500 Internal Server Error` to avoid retrying non-idempotent failures)
247
+
248
+ Use the `max_retries` option to configure this behavior.
249
+
250
+ ```ruby
251
+ require "VitableConnect"
252
+
253
+ client = VitableConnect::Client.new(
254
+ base_url: "https://example.com",
255
+ max_retries: 3 # Configure max retries (default is 2)
256
+ )
257
+ ```
258
+
259
+ ### Timeouts
260
+
261
+ The SDK defaults to a 60 second timeout. Use the `timeout` option to configure this behavior.
262
+
263
+ ```ruby
264
+ require "VitableConnect"
265
+
266
+ response = client.auth.issue_access_token(
267
+ ...,
268
+ timeout: 30 # 30 second timeout
269
+ )
270
+ ```
271
+
272
+ ### Additional Headers
273
+
274
+ If you would like to send additional headers as part of the request, use the `additional_headers` request option.
275
+
276
+ ```ruby
277
+ require "VitableConnect"
278
+
279
+ response = client.auth.issue_access_token(
280
+ ...,
281
+ request_options: {
282
+ additional_headers: {
283
+ "X-Custom-Header" => "custom-value"
284
+ }
285
+ }
286
+ )
287
+ ```
288
+
289
+ ### Additional Query Parameters
290
+
291
+ If you would like to send additional query parameters as part of the request, use the `additional_query_parameters` request option.
292
+
293
+ ```ruby
294
+ require "VitableConnect"
295
+
296
+ response = client.auth.issue_access_token(
297
+ ...,
298
+ request_options: {
299
+ additional_query_parameters: {
300
+ "custom_param" => "custom-value"
301
+ }
302
+ }
303
+ )
304
+ ```
305
+
265
306
  ## Contributing
266
307
 
267
- See [the contributing documentation](https://github.com/Vitable-Inc/vitable-connect-ruby/tree/main/CONTRIBUTING.md).
308
+ While we value open-source contributions to this SDK, this library is generated programmatically.
309
+ Additions made directly to this library would have to be moved over to our generation code,
310
+ otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
311
+ a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
312
+ an issue first to discuss with us!
313
+
314
+ On the other hand, contributions to the README are always very welcome!
data/Rakefile ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "minitest/test_task"
5
+
6
+ Minitest::TestTask.create
7
+
8
+ require "rubocop/rake_task"
9
+
10
+ RuboCop::RakeTask.new
11
+
12
+ task default: %i[test]
13
+
14
+ task lint: %i[rubocop]
15
+
16
+ # Run only the custom test file
17
+ Minitest::TestTask.create(:customtest) do |t|
18
+ t.libs << "test"
19
+ t.test_globs = ["test/custom.test.rb"]
20
+ end
data/custom.gemspec.rb ADDED
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Custom gemspec configuration file
4
+ # This file is automatically loaded by the main gemspec file. The 'spec' variable is available
5
+ # in this context from the main gemspec file. You can modify this file to add custom metadata,
6
+ # dependencies, or other gemspec configurations. If you do make changes to this file, you will
7
+ # need to add it to the .fernignore file to prevent your changes from being overwritten.
8
+
9
+ def add_custom_gemspec_data(spec)
10
+ # Example custom configurations (uncomment and modify as needed)
11
+
12
+ # spec.authors = ["Your name"]
13
+ # spec.email = ["your.email@example.com"]
14
+ # spec.homepage = "https://github.com/your-org/vitableconnect-ruby"
15
+ # spec.license = "Your license"
16
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Auth
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
+ # Issues a short-lived access token from the authenticated API key. Access tokens can optionally be bound to a
14
+ # specific employer or employee for scoped access. Tokens expire after 15 minutes.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [VitableConnect::Auth::Types::IssueAccessTokenRequest]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
24
+ # @example
25
+ # client.auth.issue_access_token(grant_type: "client_credentials")
26
+ #
27
+ # @return [VitableConnect::Types::AccessTokenResponse]
28
+ def issue_access_token(request_options: {}, **params)
29
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
30
+ request = VitableConnect::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url],
32
+ method: "POST",
33
+ path: "v1/auth/access-tokens",
34
+ body: VitableConnect::Auth::Types::IssueAccessTokenRequest.new(params).to_h,
35
+ request_options: request_options
36
+ )
37
+ begin
38
+ response = @client.send(request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise VitableConnect::Errors::TimeoutError
41
+ end
42
+ code = response.code.to_i
43
+ if code.between?(200, 299)
44
+ VitableConnect::Types::AccessTokenResponse.load(response.body)
45
+ else
46
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(response.body, code: code)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Auth
5
+ module Types
6
+ class IssueAccessTokenRequest < Internal::Types::Model
7
+ field :grant_type, -> { VitableConnect::Types::GrantType }, optional: false, nullable: false
8
+
9
+ field :bound_entity, -> { VitableConnect::Types::BoundEntity }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ class Client
5
+ # @param base_url [String, nil]
6
+ # @param api_key [String]
7
+ # @param max_retries [Integer]
8
+ #
9
+ # @return [void]
10
+ def initialize(base_url: nil, api_key: ENV.fetch("VITABLE_CONNECT_API_KEY", nil), max_retries: 2)
11
+ @raw_client = VitableConnect::Internal::Http::RawClient.new(
12
+ base_url: base_url || VitableConnect::Environment::PRODUCTION,
13
+ headers: {
14
+ "User-Agent" => "vitable-connect/1.0.0",
15
+ "X-Fern-Language" => "Ruby",
16
+ Authorization: "Bearer #{api_key}"
17
+ },
18
+ max_retries: max_retries
19
+ )
20
+ end
21
+
22
+ # @return [VitableConnect::Auth::Client]
23
+ def auth
24
+ @auth ||= VitableConnect::Auth::Client.new(client: @raw_client)
25
+ end
26
+
27
+ # @return [VitableConnect::Employees::Client]
28
+ def employees
29
+ @employees ||= VitableConnect::Employees::Client.new(client: @raw_client)
30
+ end
31
+
32
+ # @return [VitableConnect::Employers::Client]
33
+ def employers
34
+ @employers ||= VitableConnect::Employers::Client.new(client: @raw_client)
35
+ end
36
+
37
+ # @return [VitableConnect::Enrollments::Client]
38
+ def enrollments
39
+ @enrollments ||= VitableConnect::Enrollments::Client.new(client: @raw_client)
40
+ end
41
+
42
+ # @return [VitableConnect::Groups::Client]
43
+ def groups
44
+ @groups ||= VitableConnect::Groups::Client.new(client: @raw_client)
45
+ end
46
+
47
+ # @return [VitableConnect::Members::Client]
48
+ def members
49
+ @members ||= VitableConnect::Members::Client.new(client: @raw_client)
50
+ end
51
+
52
+ # @return [VitableConnect::Organizations::Client]
53
+ def organizations
54
+ @organizations ||= VitableConnect::Organizations::Client.new(client: @raw_client)
55
+ end
56
+
57
+ # @return [VitableConnect::Plans::Client]
58
+ def plans
59
+ @plans ||= VitableConnect::Plans::Client.new(client: @raw_client)
60
+ end
61
+
62
+ # @return [VitableConnect::WebhookEvents::Client]
63
+ def webhook_events
64
+ @webhook_events ||= VitableConnect::WebhookEvents::Client.new(client: @raw_client)
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Employees
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
+ # Retrieves detailed information for a specific employee by ID. Returns employee details including personal
14
+ # information, employment status, classification and compensation-type effective dates, compensation type, and
15
+ # payroll deductions from the most recent statement period. Deductions reflect a snapshot of the current period
16
+ # and are replaced when a new statement is generated.
17
+ #
18
+ # @param request_options [Hash]
19
+ # @param params [Hash]
20
+ # @option request_options [String] :base_url
21
+ # @option request_options [Hash{String => Object}] :additional_headers
22
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
23
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
24
+ # @option request_options [Integer] :timeout_in_seconds
25
+ # @option params [VitableConnect::Types::EmployeeID] :employee_id
26
+ #
27
+ # @example
28
+ # client.employees.get(employee_id: "empl_abc123def456")
29
+ #
30
+ # @return [VitableConnect::Types::EmployeeResponse]
31
+ def get(request_options: {}, **params)
32
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
33
+ request = VitableConnect::Internal::JSON::Request.new(
34
+ base_url: request_options[:base_url],
35
+ method: "GET",
36
+ path: "v1/employees/#{URI.encode_uri_component(params[:employee_id].to_s)}",
37
+ request_options: request_options
38
+ )
39
+ begin
40
+ response = @client.send(request)
41
+ rescue Net::HTTPRequestTimeout
42
+ raise VitableConnect::Errors::TimeoutError
43
+ end
44
+ code = response.code.to_i
45
+ if code.between?(200, 299)
46
+ VitableConnect::Types::EmployeeResponse.load(response.body)
47
+ else
48
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
49
+ raise error_class.new(response.body, code: code)
50
+ end
51
+ end
52
+
53
+ # Updates employee personal, contact, address, and employment fields. This endpoint currently supports email,
54
+ # phone, gender, address, employee_class, start_date, and compensation_type. effective_date is required and
55
+ # applies to employee_class and compensation_type when those fields are included in the request.
56
+ #
57
+ # @param request_options [Hash]
58
+ # @param params [VitableConnect::Employees::Types::PatchedUpdateEmployeeRequest]
59
+ # @option request_options [String] :base_url
60
+ # @option request_options [Hash{String => Object}] :additional_headers
61
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
62
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
63
+ # @option request_options [Integer] :timeout_in_seconds
64
+ # @option params [VitableConnect::Types::EmployeeID] :employee_id
65
+ #
66
+ # @example
67
+ # client.employees.update(
68
+ # employee_id: "empl_abc123def456",
69
+ # employee_class: "Full Time",
70
+ # start_date: "2023-01-15",
71
+ # compensation_type: "Salary",
72
+ # effective_date: "2023-03-01"
73
+ # )
74
+ #
75
+ # @return [VitableConnect::Types::EmployeeResponse]
76
+ def update(request_options: {}, **params)
77
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
78
+ request_data = VitableConnect::Employees::Types::PatchedUpdateEmployeeRequest.new(params).to_h
79
+ non_body_param_names = %w[employee_id]
80
+ body = request_data.except(*non_body_param_names)
81
+
82
+ request = VitableConnect::Internal::JSON::Request.new(
83
+ base_url: request_options[:base_url],
84
+ method: "PATCH",
85
+ path: "v1/employees/#{URI.encode_uri_component(params[:employee_id].to_s)}",
86
+ body: body,
87
+ request_options: request_options
88
+ )
89
+ begin
90
+ response = @client.send(request)
91
+ rescue Net::HTTPRequestTimeout
92
+ raise VitableConnect::Errors::TimeoutError
93
+ end
94
+ code = response.code.to_i
95
+ if code.between?(200, 299)
96
+ VitableConnect::Types::EmployeeResponse.load(response.body)
97
+ else
98
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
99
+ raise error_class.new(response.body, code: code)
100
+ end
101
+ end
102
+
103
+ # Retrieves a paginated list of benefit enrollments for an employee.
104
+ #
105
+ # @param request_options [Hash]
106
+ # @param params [Hash]
107
+ # @option request_options [String] :base_url
108
+ # @option request_options [Hash{String => Object}] :additional_headers
109
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
110
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
111
+ # @option request_options [Integer] :timeout_in_seconds
112
+ # @option params [VitableConnect::Types::EmployeeID] :employee_id
113
+ # @option params [Integer, nil] :limit
114
+ # @option params [Integer, nil] :page
115
+ #
116
+ # @example
117
+ # client.employees.list_enrollments(
118
+ # employee_id: "empl_abc123def456",
119
+ # limit: 20,
120
+ # page: 1
121
+ # )
122
+ #
123
+ # @return [VitableConnect::Types::EnrollmentListResponse]
124
+ def list_enrollments(request_options: {}, **params)
125
+ params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
126
+ query_params = {}
127
+ query_params["limit"] = params[:limit] if params.key?(:limit)
128
+ query_params["page"] = params[:page] if params.key?(:page)
129
+
130
+ VitableConnect::Internal::OffsetItemIterator.new(
131
+ initial_page: query_params["page"],
132
+ item_field: :data,
133
+ has_next_field: nil,
134
+ step: false
135
+ ) do |next_page|
136
+ query_params["page"] = next_page
137
+ request = VitableConnect::Internal::JSON::Request.new(
138
+ base_url: request_options[:base_url],
139
+ method: "GET",
140
+ path: "v1/employees/#{URI.encode_uri_component(params[:employee_id].to_s)}/enrollments",
141
+ query: query_params,
142
+ request_options: request_options
143
+ )
144
+ begin
145
+ response = @client.send(request)
146
+ rescue Net::HTTPRequestTimeout
147
+ raise VitableConnect::Errors::TimeoutError
148
+ end
149
+ code = response.code.to_i
150
+ if code.between?(200, 299)
151
+ parsed_response = VitableConnect::Types::EnrollmentListResponse.load(response.body)
152
+ [parsed_response, response]
153
+ else
154
+ error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
155
+ raise error_class.new(response.body, code: code)
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Employees
5
+ module Types
6
+ class GetEmployeesRequest < Internal::Types::Model
7
+ field :employee_id, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Employees
5
+ module Types
6
+ class ListEnrollmentsEmployeesRequest < Internal::Types::Model
7
+ field :employee_id, -> { String }, optional: false, nullable: false
8
+
9
+ field :limit, -> { Integer }, optional: true, nullable: false
10
+
11
+ field :page, -> { Integer }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Employees
5
+ module Types
6
+ class PatchedUpdateEmployeeRequest < Internal::Types::Model
7
+ field :employee_id, -> { String }, optional: false, nullable: false
8
+
9
+ field :email, -> { String }, optional: true, nullable: false
10
+
11
+ field :phone, -> { String }, optional: true, nullable: false
12
+
13
+ field :gender, -> { VitableConnect::Types::Gender }, optional: true, nullable: false
14
+
15
+ field :address, -> { VitableConnect::Types::EmployeeAddressInput }, optional: true, nullable: false
16
+
17
+ field :employee_class, -> { VitableConnect::Types::EmployeeClass }, optional: true, nullable: false
18
+
19
+ field :start_date, -> { String }, optional: true, nullable: false
20
+
21
+ field :compensation_type, -> { VitableConnect::Types::CompensationType }, optional: true, nullable: false
22
+
23
+ field :effective_date, -> { String }, optional: false, nullable: false
24
+ end
25
+ end
26
+ end
27
+ end