vitable-connect 0.4.0 → 0.6.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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +9 -9
  4. data/lib/vitable_connect/client.rb +19 -6
  5. data/lib/vitable_connect/internal/transport/base_client.rb +28 -4
  6. data/lib/vitable_connect/internal/type/enum.rb +13 -9
  7. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +17 -3
  8. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +17 -3
  9. data/lib/vitable_connect/models/employee.rb +98 -30
  10. data/lib/vitable_connect/models/employee_update_params.rb +185 -0
  11. data/lib/vitable_connect/models/employee_update_response.rb +18 -0
  12. data/lib/vitable_connect/models/employer.rb +36 -10
  13. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_params.rb +22 -0
  14. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_response.rb +29 -0
  15. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rb +80 -0
  16. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rb +175 -0
  17. data/lib/vitable_connect/models/employer_list_benefit_plan_years_params.rb +22 -0
  18. data/lib/vitable_connect/models/employer_list_benefit_plan_years_response.rb +301 -0
  19. data/lib/vitable_connect/models/employer_list_employees_params.rb +28 -1
  20. data/lib/vitable_connect/models/employer_list_hris_providers_params.rb +14 -0
  21. data/lib/vitable_connect/models/employer_list_hris_providers_response.rb +30 -0
  22. data/lib/vitable_connect/models/employer_list_invoices_params.rb +38 -0
  23. data/lib/vitable_connect/models/employer_list_invoices_response.rb +77 -0
  24. data/lib/vitable_connect/models/employer_list_params.rb +118 -5
  25. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_params.rb +38 -0
  26. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_response.rb +113 -0
  27. data/lib/vitable_connect/models/employer_list_response.rb +283 -0
  28. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rb +30 -0
  29. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rb +813 -0
  30. data/lib/vitable_connect/models/employer_retrieve_hris_params.rb +22 -0
  31. data/lib/vitable_connect/models/employer_retrieve_hris_response.rb +55 -0
  32. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_params.rb +30 -0
  33. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_response.rb +17 -0
  34. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rb +22 -0
  35. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rb +35 -0
  36. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +9 -8
  37. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_params.rb +267 -0
  38. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_response.rb +35 -0
  39. data/lib/vitable_connect/models/employer_update_params.rb +99 -0
  40. data/lib/vitable_connect/models/employer_update_settings_params.rb +9 -9
  41. data/lib/vitable_connect/models/employer_update_settings_response.rb +4 -4
  42. data/lib/vitable_connect/models/enrollment_reissue_params.rb +50 -0
  43. data/lib/vitable_connect/models/enrollment_reissue_response.rb +30 -0
  44. data/lib/vitable_connect/models/enrollment_terminate_params.rb +50 -0
  45. data/lib/vitable_connect/models/group.rb +17 -6
  46. data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +74 -3
  47. data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +7 -7
  48. data/lib/vitable_connect/models/member_list_dependents_params.rb +20 -0
  49. data/lib/vitable_connect/models/member_list_dependents_response.rb +132 -0
  50. data/lib/vitable_connect/models/member_list_employments_params.rb +20 -0
  51. data/lib/vitable_connect/models/member_list_employments_response.rb +18 -0
  52. data/lib/vitable_connect/models/member_list_enrollments_params.rb +20 -0
  53. data/lib/vitable_connect/models/member_list_enrollments_response.rb +319 -0
  54. data/lib/vitable_connect/models/member_list_id_cards_params.rb +20 -0
  55. data/lib/vitable_connect/models/member_list_id_cards_response.rb +368 -0
  56. data/lib/vitable_connect/models/member_list_params.rb +38 -0
  57. data/lib/vitable_connect/models/member_list_qualifying_life_events_params.rb +57 -0
  58. data/lib/vitable_connect/models/member_list_qualifying_life_events_response.rb +96 -0
  59. data/lib/vitable_connect/models/member_list_response.rb +108 -0
  60. data/lib/vitable_connect/models/member_retrieve_household_params.rb +20 -0
  61. data/lib/vitable_connect/models/member_retrieve_household_response.rb +128 -0
  62. data/lib/vitable_connect/models/member_retrieve_params.rb +20 -0
  63. data/lib/vitable_connect/models/member_retrieve_response.rb +195 -0
  64. data/lib/vitable_connect/models/organization_create_params.rb +57 -0
  65. data/lib/vitable_connect/models/organization_create_response.rb +104 -0
  66. data/lib/vitable_connect/models/organization_list_params.rb +14 -0
  67. data/lib/vitable_connect/models/organization_list_response.rb +128 -0
  68. data/lib/vitable_connect/models/webhook_event_list_params.rb +3 -3
  69. data/lib/vitable_connect/models.rb +54 -11
  70. data/lib/vitable_connect/resources/employees.rb +49 -3
  71. data/lib/vitable_connect/resources/employers.rb +402 -28
  72. data/lib/vitable_connect/resources/enrollments.rb +75 -0
  73. data/lib/vitable_connect/resources/members.rb +231 -0
  74. data/lib/vitable_connect/resources/organizations.rb +66 -0
  75. data/lib/vitable_connect/version.rb +1 -1
  76. data/lib/vitable_connect.rb +51 -6
  77. data/rbi/vitable_connect/client.rbi +18 -6
  78. data/rbi/vitable_connect/internal/transport/base_client.rbi +4 -1
  79. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +53 -5
  80. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +51 -5
  81. data/rbi/vitable_connect/models/employee.rbi +138 -37
  82. data/rbi/vitable_connect/models/employee_update_params.rbi +323 -0
  83. data/rbi/vitable_connect/models/employee_update_response.rbi +32 -0
  84. data/rbi/vitable_connect/models/employer.rbi +58 -8
  85. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbi +46 -0
  86. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbi +72 -0
  87. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbi +165 -0
  88. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbi +278 -0
  89. data/rbi/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbi → employer_list_benefit_plan_years_params.rbi} +11 -8
  90. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_response.rbi +539 -0
  91. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +70 -0
  92. data/rbi/vitable_connect/models/employer_list_hris_providers_params.rbi +32 -0
  93. data/rbi/vitable_connect/models/employer_list_hris_providers_response.rbi +74 -0
  94. data/rbi/vitable_connect/models/employer_list_invoices_params.rbi +65 -0
  95. data/rbi/vitable_connect/models/employer_list_invoices_response.rbi +151 -0
  96. data/rbi/vitable_connect/models/employer_list_params.rbi +292 -4
  97. data/rbi/vitable_connect/models/{employer_create_benefit_eligibility_policy_params.rbi → employer_list_payroll_deduction_statements_params.rbi} +22 -18
  98. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbi +169 -0
  99. data/rbi/vitable_connect/models/employer_list_response.rbi +426 -0
  100. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbi +54 -0
  101. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbi +1574 -0
  102. data/rbi/vitable_connect/models/employer_retrieve_hris_params.rbi +46 -0
  103. data/rbi/vitable_connect/models/employer_retrieve_hris_response.rbi +120 -0
  104. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbi +54 -0
  105. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbi +30 -0
  106. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbi +46 -0
  107. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbi +83 -0
  108. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +8 -6
  109. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_params.rbi +441 -0
  110. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_response.rbi +83 -0
  111. data/rbi/vitable_connect/models/employer_update_params.rbi +155 -0
  112. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +12 -12
  113. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +6 -6
  114. data/rbi/vitable_connect/models/enrollment_reissue_params.rbi +72 -0
  115. data/rbi/vitable_connect/models/enrollment_reissue_response.rbi +67 -0
  116. data/rbi/vitable_connect/models/enrollment_terminate_params.rbi +72 -0
  117. data/rbi/vitable_connect/models/group.rbi +12 -0
  118. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +174 -4
  119. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +9 -9
  120. data/rbi/vitable_connect/models/member_list_dependents_params.rbi +38 -0
  121. data/rbi/vitable_connect/models/member_list_dependents_response.rbi +249 -0
  122. data/rbi/vitable_connect/models/member_list_employments_params.rbi +38 -0
  123. data/rbi/vitable_connect/models/member_list_employments_response.rbi +31 -0
  124. data/rbi/vitable_connect/models/member_list_enrollments_params.rbi +38 -0
  125. data/rbi/vitable_connect/models/member_list_enrollments_response.rbi +579 -0
  126. data/rbi/vitable_connect/models/member_list_id_cards_params.rbi +38 -0
  127. data/rbi/vitable_connect/models/member_list_id_cards_response.rbi +624 -0
  128. data/rbi/vitable_connect/models/member_list_params.rbi +71 -0
  129. data/rbi/vitable_connect/models/member_list_qualifying_life_events_params.rbi +130 -0
  130. data/rbi/vitable_connect/models/member_list_qualifying_life_events_response.rbi +192 -0
  131. data/rbi/vitable_connect/models/member_list_response.rbi +166 -0
  132. data/rbi/vitable_connect/models/member_retrieve_household_params.rbi +38 -0
  133. data/rbi/vitable_connect/models/member_retrieve_household_response.rbi +251 -0
  134. data/rbi/vitable_connect/models/member_retrieve_params.rbi +38 -0
  135. data/rbi/vitable_connect/models/member_retrieve_response.rbi +312 -0
  136. data/rbi/vitable_connect/models/organization_create_params.rbi +127 -0
  137. data/rbi/vitable_connect/models/organization_create_response.rbi +212 -0
  138. data/rbi/vitable_connect/models/organization_list_params.rbi +32 -0
  139. data/rbi/vitable_connect/models/organization_list_response.rbi +266 -0
  140. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +8 -8
  141. data/rbi/vitable_connect/models.rbi +66 -13
  142. data/rbi/vitable_connect/resources/employees.rbi +62 -3
  143. data/rbi/vitable_connect/resources/employers.rbi +373 -24
  144. data/rbi/vitable_connect/resources/enrollments.rbi +61 -0
  145. data/rbi/vitable_connect/resources/members.rbi +169 -0
  146. data/rbi/vitable_connect/resources/organizations.rbi +48 -0
  147. data/rbi/vitable_connect/resources/webhook_events.rbi +1 -1
  148. data/sig/vitable_connect/client.rbs +9 -3
  149. data/sig/vitable_connect/internal/transport/base_client.rbs +2 -0
  150. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +22 -4
  151. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +22 -4
  152. data/sig/vitable_connect/models/employee.rbs +65 -18
  153. data/sig/vitable_connect/models/employee_update_params.rbs +140 -0
  154. data/sig/vitable_connect/models/employee_update_response.rbs +13 -0
  155. data/sig/vitable_connect/models/employer.rbs +17 -5
  156. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbs +24 -0
  157. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbs +30 -0
  158. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbs +74 -0
  159. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbs +111 -0
  160. data/sig/vitable_connect/models/employer_list_benefit_plan_years_params.rbs +24 -0
  161. data/sig/vitable_connect/models/employer_list_benefit_plan_years_response.rbs +197 -0
  162. data/sig/vitable_connect/models/employer_list_employees_params.rbs +32 -1
  163. data/sig/vitable_connect/models/employer_list_hris_providers_params.rbs +15 -0
  164. data/sig/vitable_connect/models/employer_list_hris_providers_response.rbs +30 -0
  165. data/sig/vitable_connect/models/employer_list_invoices_params.rbs +34 -0
  166. data/sig/vitable_connect/models/employer_list_invoices_response.rbs +62 -0
  167. data/sig/vitable_connect/models/employer_list_params.rbs +94 -1
  168. data/sig/vitable_connect/models/{employer_create_benefit_eligibility_policy_params.rbs → employer_list_payroll_deduction_statements_params.rbs} +13 -9
  169. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbs +73 -0
  170. data/sig/vitable_connect/models/employer_list_response.rbs +179 -0
  171. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbs +28 -0
  172. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbs +540 -0
  173. data/sig/vitable_connect/models/employer_retrieve_hris_params.rbs +24 -0
  174. data/sig/vitable_connect/models/employer_retrieve_hris_response.rbs +50 -0
  175. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbs +28 -0
  176. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbs +13 -0
  177. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbs +24 -0
  178. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbs +32 -0
  179. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +5 -5
  180. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_params.rbs +198 -0
  181. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_response.rbs +32 -0
  182. data/sig/vitable_connect/models/employer_update_params.rbs +83 -0
  183. data/sig/vitable_connect/models/enrollment_reissue_params.rbs +41 -0
  184. data/sig/vitable_connect/models/enrollment_reissue_response.rbs +28 -0
  185. data/sig/vitable_connect/models/enrollment_terminate_params.rbs +41 -0
  186. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +69 -4
  187. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +8 -8
  188. data/sig/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbs → member_list_dependents_params.rbs} +6 -6
  189. data/sig/vitable_connect/models/member_list_dependents_response.rbs +96 -0
  190. data/sig/vitable_connect/models/member_list_employments_params.rbs +23 -0
  191. data/sig/vitable_connect/models/member_list_employments_response.rbs +14 -0
  192. data/sig/vitable_connect/models/member_list_enrollments_params.rbs +23 -0
  193. data/sig/vitable_connect/models/member_list_enrollments_response.rbs +215 -0
  194. data/sig/vitable_connect/models/member_list_id_cards_params.rbs +23 -0
  195. data/sig/vitable_connect/models/member_list_id_cards_response.rbs +256 -0
  196. data/sig/vitable_connect/models/member_list_params.rbs +38 -0
  197. data/sig/vitable_connect/models/member_list_qualifying_life_events_params.rbs +61 -0
  198. data/sig/vitable_connect/models/member_list_qualifying_life_events_response.rbs +67 -0
  199. data/sig/vitable_connect/models/member_list_response.rbs +82 -0
  200. data/sig/vitable_connect/models/member_retrieve_household_params.rbs +23 -0
  201. data/sig/vitable_connect/models/member_retrieve_household_response.rbs +92 -0
  202. data/sig/vitable_connect/models/member_retrieve_params.rbs +23 -0
  203. data/sig/vitable_connect/models/member_retrieve_response.rbs +143 -0
  204. data/sig/vitable_connect/models/organization_create_params.rbs +52 -0
  205. data/sig/vitable_connect/models/organization_create_response.rbs +77 -0
  206. data/sig/vitable_connect/models/organization_list_params.rbs +15 -0
  207. data/sig/vitable_connect/models/organization_list_response.rbs +99 -0
  208. data/sig/vitable_connect/models/webhook_event_list_params.rbs +2 -2
  209. data/sig/vitable_connect/models.rbs +50 -10
  210. data/sig/vitable_connect/resources/employees.rbs +13 -0
  211. data/sig/vitable_connect/resources/employers.rbs +103 -5
  212. data/sig/vitable_connect/resources/enrollments.rbs +16 -0
  213. data/sig/vitable_connect/resources/members.rbs +52 -0
  214. data/sig/vitable_connect/resources/organizations.rbs +17 -0
  215. metadata +155 -20
  216. data/lib/vitable_connect/models/benefit_eligibility_policy.rb +0 -53
  217. data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +0 -18
  218. data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +0 -22
  219. data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +0 -43
  220. data/lib/vitable_connect/models/type.rb +0 -17
  221. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +0 -35
  222. data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +0 -74
  223. data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +0 -38
  224. data/rbi/vitable_connect/models/type.rbi +0 -21
  225. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +0 -27
  226. data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +0 -50
  227. data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +0 -14
  228. data/sig/vitable_connect/models/type.rbs +0 -14
  229. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +0 -12
@@ -24,6 +24,81 @@ module VitableConnect
24
24
  )
25
25
  end
26
26
 
27
+ # Some parameter documentations has been truncated, see
28
+ # {VitableConnect::Models::EnrollmentReissueParams} for more details.
29
+ #
30
+ # Closes the targeted enrollment and creates a new unanswered enrollment for the
31
+ # same member and plan year. VPC never requires a qualifying life event; other
32
+ # products require an accepted, member-owned event outside open enrollment.
33
+ # User-backed callers must provide a reason; it is optional for userless
34
+ # organization callers. API keys and unbound access tokens may act across the
35
+ # caller organization's book. Employer-bound access tokens may act only on that
36
+ # employer's enrollments, and employee-bound access tokens may act only on that
37
+ # employee's enrollment. Tenant or token-scope mismatches return the same
38
+ # non-disclosing 404 before the request body is validated.
39
+ #
40
+ # @overload reissue(enrollment_id, qualifying_life_event_id: nil, reason: nil, ticket_number: nil, request_options: {})
41
+ #
42
+ # @param enrollment_id [String] Unique enrollment identifier (enrl\_\*)
43
+ #
44
+ # @param qualifying_life_event_id [String, nil] Accepted member qualifying life event identifier (qle\_\*)
45
+ #
46
+ # @param reason [String, nil] Audit reason for the reissue; required for user-backed callers and optional for
47
+ #
48
+ # @param ticket_number [String, nil] Optional support or operational ticket number
49
+ #
50
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
51
+ #
52
+ # @return [VitableConnect::Models::EnrollmentReissueResponse]
53
+ #
54
+ # @see VitableConnect::Models::EnrollmentReissueParams
55
+ def reissue(enrollment_id, params = {})
56
+ parsed, options = VitableConnect::EnrollmentReissueParams.dump_request(params)
57
+ @client.request(
58
+ method: :post,
59
+ path: ["v1/enrollments/%1$s/reissue", enrollment_id],
60
+ body: parsed,
61
+ model: VitableConnect::Models::EnrollmentReissueResponse,
62
+ options: options
63
+ )
64
+ end
65
+
66
+ # Some parameter documentations has been truncated, see
67
+ # {VitableConnect::Models::EnrollmentTerminateParams} for more details.
68
+ #
69
+ # Terminates enrolled coverage immediately. An accepted qualifying life event
70
+ # owned by the enrollment member is required unless the plan is VPC or ICHRA.
71
+ # User-backed callers must provide a reason; it is optional for userless
72
+ # organization callers. API keys may act across the caller organization's book.
73
+ # Tenant mismatches return the same non-disclosing 404 before the request body is
74
+ # validated.
75
+ #
76
+ # @overload terminate(enrollment_id, qualifying_life_event_id: nil, reason: nil, ticket_number: nil, request_options: {})
77
+ #
78
+ # @param enrollment_id [String] Unique enrollment identifier (enrl\_\*)
79
+ #
80
+ # @param qualifying_life_event_id [String, nil] Accepted member qualifying life event identifier (qle\_\*)
81
+ #
82
+ # @param reason [String, nil] Audit reason for the termination; required for user-backed callers and optional
83
+ #
84
+ # @param ticket_number [String, nil] Optional support or operational ticket number
85
+ #
86
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
87
+ #
88
+ # @return [nil]
89
+ #
90
+ # @see VitableConnect::Models::EnrollmentTerminateParams
91
+ def terminate(enrollment_id, params = {})
92
+ parsed, options = VitableConnect::EnrollmentTerminateParams.dump_request(params)
93
+ @client.request(
94
+ method: :post,
95
+ path: ["v1/enrollments/%1$s/terminate", enrollment_id],
96
+ body: parsed,
97
+ model: NilClass,
98
+ options: options
99
+ )
100
+ end
101
+
27
102
  # @api private
28
103
  #
29
104
  # @param client [VitableConnect::Client]
@@ -0,0 +1,231 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Resources
5
+ # Browse the members covered across your book and read a member's profile
6
+ class Members
7
+ # Retrieves a member's profile by ID — identity, demographics, address, contact
8
+ # details, tobacco status, and profile status. Access is scoped to the
9
+ # authenticated principal; a member not visible to the caller returns a 404.
10
+ #
11
+ # @overload retrieve(member_id, request_options: {})
12
+ #
13
+ # @param member_id [String]
14
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
15
+ #
16
+ # @return [VitableConnect::Models::MemberRetrieveResponse]
17
+ #
18
+ # @see VitableConnect::Models::MemberRetrieveParams
19
+ def retrieve(member_id, params = {})
20
+ @client.request(
21
+ method: :get,
22
+ path: ["v1/members/%1$s", member_id],
23
+ model: VitableConnect::Models::MemberRetrieveResponse,
24
+ options: params[:request_options]
25
+ )
26
+ end
27
+
28
+ # Retrieves a paginated list of the members in the authenticated organization's
29
+ # book — identity, contact details, and address. The book covers members reached
30
+ # through an employer in the organization's book as well as members of a group it
31
+ # owns. Supports free-text search (name, email, or exact member id).
32
+ #
33
+ # @overload list(limit: nil, page: nil, search: nil, request_options: {})
34
+ #
35
+ # @param limit [Integer] Items per page (default: 20, max: 100)
36
+ #
37
+ # @param page [Integer] Page number (default: 1)
38
+ #
39
+ # @param search [String] Case-insensitive search across member name and email; exact match on member id
40
+ #
41
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
42
+ #
43
+ # @return [VitableConnect::Internal::PageNumberPage<VitableConnect::Models::MemberListResponse>]
44
+ #
45
+ # @see VitableConnect::Models::MemberListParams
46
+ def list(params = {})
47
+ parsed, options = VitableConnect::MemberListParams.dump_request(params)
48
+ query = VitableConnect::Internal::Util.encode_query_params(parsed)
49
+ @client.request(
50
+ method: :get,
51
+ path: "v2/members",
52
+ query: query,
53
+ page: VitableConnect::Internal::PageNumberPage,
54
+ model: VitableConnect::Models::MemberListResponse,
55
+ options: options
56
+ )
57
+ end
58
+
59
+ # Lists a member's active legal dependents — name, relationship, date of birth,
60
+ # age, and sex at birth. Access is scoped to the authenticated principal; a member
61
+ # not visible to the caller returns a 404.
62
+ #
63
+ # @overload list_dependents(member_id, request_options: {})
64
+ #
65
+ # @param member_id [String]
66
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
67
+ #
68
+ # @return [VitableConnect::Models::MemberListDependentsResponse]
69
+ #
70
+ # @see VitableConnect::Models::MemberListDependentsParams
71
+ def list_dependents(member_id, params = {})
72
+ @client.request(
73
+ method: :get,
74
+ path: ["v1/members/%1$s/dependents", member_id],
75
+ model: VitableConnect::Models::MemberListDependentsResponse,
76
+ options: params[:request_options]
77
+ )
78
+ end
79
+
80
+ # Lists a member's employment across every employer — the same employee record
81
+ # shape as the employer's employees list, plus the employer name. For an
82
+ # organization caller the rows are scoped to companies in that organization's
83
+ # book; a member (self/household) or Vitable Admin sees all employments. A member
84
+ # not visible to the caller returns a 404.
85
+ #
86
+ # @overload list_employments(member_id, request_options: {})
87
+ #
88
+ # @param member_id [String]
89
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
90
+ #
91
+ # @return [VitableConnect::Models::MemberListEmploymentsResponse]
92
+ #
93
+ # @see VitableConnect::Models::MemberListEmploymentsParams
94
+ def list_employments(member_id, params = {})
95
+ @client.request(
96
+ method: :get,
97
+ path: ["v1/members/%1$s/employments", member_id],
98
+ model: VitableConnect::Models::MemberListEmploymentsResponse,
99
+ options: params[:request_options]
100
+ )
101
+ end
102
+
103
+ # Lists a member's benefit enrollments across every employer — benefit type and
104
+ # product, employer, carrier, plan, tier, employee deduction, employer
105
+ # contribution and total premium, the individual enrollment coverage boundary
106
+ # (`coverage_end`), the distinct benefit plan-year boundary
107
+ # (`plan_year_coverage_end`) used to determine whether the plan year itself has
108
+ # ended, whether a qualifying life event would currently be required for reissue
109
+ # under the product/open-enrollment rule, enrollment/open-enrollment window, and
110
+ # two statuses: `election_status` (what the member answered) and `policy_status`
111
+ # (what became of their coverage, null unless they enrolled). Every row includes a
112
+ # stable enrollment ID that can be used to target enrollment actions. The full
113
+ # list is returned across all states so the client derives active plans (effective
114
+ # and upcoming) and the enrollment history from those per-row statuses. For an
115
+ # organization caller the rows are scoped to companies in that organization's
116
+ # book; a member (self/household) or Vitable Admin sees all enrollments. A member
117
+ # not visible to the caller returns a 404.
118
+ #
119
+ # @overload list_enrollments(member_id, request_options: {})
120
+ #
121
+ # @param member_id [String]
122
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
123
+ #
124
+ # @return [VitableConnect::Models::MemberListEnrollmentsResponse]
125
+ #
126
+ # @see VitableConnect::Models::MemberListEnrollmentsParams
127
+ def list_enrollments(member_id, params = {})
128
+ @client.request(
129
+ method: :get,
130
+ path: ["v1/members/%1$s/enrollments", member_id],
131
+ model: VitableConnect::Models::MemberListEnrollmentsResponse,
132
+ options: params[:request_options]
133
+ )
134
+ end
135
+
136
+ # Lists a member's benefit ID cards — card type (medical, dental, vision, or rx),
137
+ # employer, plan, provider network, claims payer, carrier contact details, and the
138
+ # disclaimers printed on the card. Medical, dental and vision cards come from the
139
+ # member's active digital benefit cards; the rx card from the member's Ventegra
140
+ # pharmacy benefit (omitted when the member has no free-medication coverage),
141
+ # which carries no plan, network, or carrier details. Access is scoped to the
142
+ # authenticated principal, and an organization caller sees only cards from
143
+ # employers in its book; a member not visible to the caller returns a 404.
144
+ #
145
+ # @overload list_id_cards(member_id, request_options: {})
146
+ #
147
+ # @param member_id [String]
148
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
149
+ #
150
+ # @return [VitableConnect::Models::MemberListIDCardsResponse]
151
+ #
152
+ # @see VitableConnect::Models::MemberListIDCardsParams
153
+ def list_id_cards(member_id, params = {})
154
+ @client.request(
155
+ method: :get,
156
+ path: ["v1/members/%1$s/id-cards", member_id],
157
+ model: VitableConnect::Models::MemberListIDCardsResponse,
158
+ options: params[:request_options]
159
+ )
160
+ end
161
+
162
+ # Lists a member's qualifying life events, including events already used for
163
+ # another enrollment. Returns all statuses by default; pass the status query param
164
+ # to filter to one (e.g. approved). Events are ordered newest submission first
165
+ # with stable paging. Custom text is present only when submitted and is otherwise
166
+ # null. A member not visible to the caller returns a 404. API keys and unbound
167
+ # access tokens have organization-wide access. Employer-bound tokens require
168
+ # employment at the bound employer, and employee-bound tokens require the exact
169
+ # employee-member relationship. Organization or scope mismatches return a 404
170
+ # before pagination is validated.
171
+ #
172
+ # @overload list_qualifying_life_events(member_id, limit: nil, page: nil, status: nil, request_options: {})
173
+ #
174
+ # @param member_id [String] Unique member identifier (mbr\_\*)
175
+ #
176
+ # @param limit [Integer] Items per page (default: 20, max: 100)
177
+ #
178
+ # @param page [Integer] Page number (default: 1)
179
+ #
180
+ # @param status [Symbol, VitableConnect::Models::MemberListQualifyingLifeEventsParams::Status] Optional. Filter to a single QLE status; omit to return all statuses.
181
+ #
182
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
183
+ #
184
+ # @return [VitableConnect::Internal::PageNumberPage<VitableConnect::Models::MemberListQualifyingLifeEventsResponse>]
185
+ #
186
+ # @see VitableConnect::Models::MemberListQualifyingLifeEventsParams
187
+ def list_qualifying_life_events(member_id, params = {})
188
+ parsed, options = VitableConnect::MemberListQualifyingLifeEventsParams.dump_request(params)
189
+ query = VitableConnect::Internal::Util.encode_query_params(parsed)
190
+ @client.request(
191
+ method: :get,
192
+ path: ["v1/members/%1$s/qualifying-life-events", member_id],
193
+ query: query,
194
+ page: VitableConnect::Internal::PageNumberPage,
195
+ model: VitableConnect::Models::MemberListQualifyingLifeEventsResponse,
196
+ options: options
197
+ )
198
+ end
199
+
200
+ # Lists a member's household as a per-participant table — the account holder plus
201
+ # each active household member, with name, relationship, member type, date of
202
+ # birth, and household-admin flag. Access is scoped to the authenticated
203
+ # principal; a member not visible to the caller (or with no household) returns
204
+ # a 404.
205
+ #
206
+ # @overload retrieve_household(member_id, request_options: {})
207
+ #
208
+ # @param member_id [String]
209
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
210
+ #
211
+ # @return [VitableConnect::Models::MemberRetrieveHouseholdResponse]
212
+ #
213
+ # @see VitableConnect::Models::MemberRetrieveHouseholdParams
214
+ def retrieve_household(member_id, params = {})
215
+ @client.request(
216
+ method: :get,
217
+ path: ["v1/members/%1$s/household", member_id],
218
+ model: VitableConnect::Models::MemberRetrieveHouseholdResponse,
219
+ options: params[:request_options]
220
+ )
221
+ end
222
+
223
+ # @api private
224
+ #
225
+ # @param client [VitableConnect::Client]
226
+ def initialize(client:)
227
+ @client = client
228
+ end
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Resources
5
+ class Organizations
6
+ # Some parameter documentations has been truncated, see
7
+ # {VitableConnect::Models::OrganizationCreateParams} for more details.
8
+ #
9
+ # Onboards the authenticated user's partner Organization: creates the local
10
+ # Organization + the creator's admin membership atomically, then mirrors it to
11
+ # WorkOS (creates the WorkOS org and binds the creator as admin). 409
12
+ # `organization_already_exists` when the user already has an organization (v0: one
13
+ # organization per user).
14
+ #
15
+ # @overload create(name:, type: nil, request_options: {})
16
+ #
17
+ # @param name [String]
18
+ #
19
+ # @param type [Symbol, VitableConnect::Models::OrganizationCreateParams::Type, nil] - `BROKERAGE` - BROKERAGE
20
+ #
21
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [VitableConnect::Models::OrganizationCreateResponse]
24
+ #
25
+ # @see VitableConnect::Models::OrganizationCreateParams
26
+ def create(params)
27
+ parsed, options = VitableConnect::OrganizationCreateParams.dump_request(params)
28
+ @client.request(
29
+ method: :post,
30
+ path: "v1/organizations",
31
+ body: parsed,
32
+ model: VitableConnect::Models::OrganizationCreateResponse,
33
+ security: {},
34
+ options: options
35
+ )
36
+ end
37
+
38
+ # Lists the organizations the authenticated caller is an active member of
39
+ # (paginated). Returns an empty list when the caller belongs to no organizations.
40
+ #
41
+ # @overload list(request_options: {})
42
+ #
43
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
44
+ #
45
+ # @return [VitableConnect::Models::OrganizationListResponse]
46
+ #
47
+ # @see VitableConnect::Models::OrganizationListParams
48
+ def list(params = {})
49
+ @client.request(
50
+ method: :get,
51
+ path: "v1/organizations",
52
+ model: VitableConnect::Models::OrganizationListResponse,
53
+ security: {},
54
+ options: params[:request_options]
55
+ )
56
+ end
57
+
58
+ # @api private
59
+ #
60
+ # @param client [VitableConnect::Client]
61
+ def initialize(client:)
62
+ @client = client
63
+ end
64
+ end
65
+ end
66
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module VitableConnect
4
- VERSION = "0.4.0"
4
+ VERSION = "0.6.0"
5
5
  end
@@ -55,29 +55,54 @@ require_relative "vitable_connect/client"
55
55
  require_relative "vitable_connect/internal/page_number_page"
56
56
  require_relative "vitable_connect/models/auth_issue_access_token_params"
57
57
  require_relative "vitable_connect/models/auth_issue_access_token_response"
58
- require_relative "vitable_connect/models/benefit_eligibility_policy"
59
- require_relative "vitable_connect/models/benefit_eligibility_policy_response"
60
- require_relative "vitable_connect/models/benefit_eligibility_policy_retrieve_params"
61
58
  require_relative "vitable_connect/models/employee"
62
59
  require_relative "vitable_connect/models/employee_class"
63
60
  require_relative "vitable_connect/models/employee_list_enrollments_params"
64
61
  require_relative "vitable_connect/models/employee_retrieve_params"
65
62
  require_relative "vitable_connect/models/employee_retrieve_response"
63
+ require_relative "vitable_connect/models/employee_update_params"
64
+ require_relative "vitable_connect/models/employee_update_response"
66
65
  require_relative "vitable_connect/models/employer"
67
- require_relative "vitable_connect/models/employer_create_benefit_eligibility_policy_params"
68
66
  require_relative "vitable_connect/models/employer_create_params"
67
+ require_relative "vitable_connect/models/employer_ensure_payroll_integration_email_params"
68
+ require_relative "vitable_connect/models/employer_ensure_payroll_integration_email_response"
69
+ require_relative "vitable_connect/models/employer_list_benefit_plan_year_enrollments_params"
70
+ require_relative "vitable_connect/models/employer_list_benefit_plan_year_enrollments_response"
71
+ require_relative "vitable_connect/models/employer_list_benefit_plan_years_params"
72
+ require_relative "vitable_connect/models/employer_list_benefit_plan_years_response"
69
73
  require_relative "vitable_connect/models/employer_list_employees_params"
74
+ require_relative "vitable_connect/models/employer_list_hris_providers_params"
75
+ require_relative "vitable_connect/models/employer_list_hris_providers_response"
76
+ require_relative "vitable_connect/models/employer_list_invoices_params"
77
+ require_relative "vitable_connect/models/employer_list_invoices_response"
70
78
  require_relative "vitable_connect/models/employer_list_params"
79
+ require_relative "vitable_connect/models/employer_list_payroll_deduction_statements_params"
80
+ require_relative "vitable_connect/models/employer_list_payroll_deduction_statements_response"
81
+ require_relative "vitable_connect/models/employer_list_response"
71
82
  require_relative "vitable_connect/models/employer_response"
83
+ require_relative "vitable_connect/models/employer_retrieve_benefit_plan_year_params"
84
+ require_relative "vitable_connect/models/employer_retrieve_benefit_plan_year_response"
85
+ require_relative "vitable_connect/models/employer_retrieve_hris_params"
86
+ require_relative "vitable_connect/models/employer_retrieve_hris_response"
87
+ require_relative "vitable_connect/models/employer_retrieve_invoice_pdf_params"
88
+ require_relative "vitable_connect/models/employer_retrieve_invoice_pdf_response"
72
89
  require_relative "vitable_connect/models/employer_retrieve_params"
90
+ require_relative "vitable_connect/models/employer_retrieve_payroll_access_setup_params"
91
+ require_relative "vitable_connect/models/employer_retrieve_payroll_access_setup_response"
73
92
  require_relative "vitable_connect/models/employer_submit_census_sync_params"
74
93
  require_relative "vitable_connect/models/employer_submit_census_sync_response"
94
+ require_relative "vitable_connect/models/employer_submit_payroll_access_setup_params"
95
+ require_relative "vitable_connect/models/employer_submit_payroll_access_setup_response"
96
+ require_relative "vitable_connect/models/employer_update_params"
75
97
  require_relative "vitable_connect/models/employer_update_settings_params"
76
98
  require_relative "vitable_connect/models/employer_update_settings_response"
77
99
  require_relative "vitable_connect/models/enrollment"
100
+ require_relative "vitable_connect/models/enrollment_reissue_params"
101
+ require_relative "vitable_connect/models/enrollment_reissue_response"
78
102
  require_relative "vitable_connect/models/enrollment_retrieve_params"
79
103
  require_relative "vitable_connect/models/enrollment_retrieve_response"
80
104
  require_relative "vitable_connect/models/enrollment_status"
105
+ require_relative "vitable_connect/models/enrollment_terminate_params"
81
106
  require_relative "vitable_connect/models/group"
82
107
  require_relative "vitable_connect/models/group_create_params"
83
108
  require_relative "vitable_connect/models/group_list_params"
@@ -88,10 +113,29 @@ require_relative "vitable_connect/models/groups/members/sync_retrieve_response"
88
113
  require_relative "vitable_connect/models/groups/members/sync_submit_params"
89
114
  require_relative "vitable_connect/models/groups/members/sync_submit_response"
90
115
  require_relative "vitable_connect/models/group_update_params"
116
+ require_relative "vitable_connect/models/member_list_dependents_params"
117
+ require_relative "vitable_connect/models/member_list_dependents_response"
118
+ require_relative "vitable_connect/models/member_list_employments_params"
119
+ require_relative "vitable_connect/models/member_list_employments_response"
120
+ require_relative "vitable_connect/models/member_list_enrollments_params"
121
+ require_relative "vitable_connect/models/member_list_enrollments_response"
122
+ require_relative "vitable_connect/models/member_list_id_cards_params"
123
+ require_relative "vitable_connect/models/member_list_id_cards_response"
124
+ require_relative "vitable_connect/models/member_list_params"
125
+ require_relative "vitable_connect/models/member_list_qualifying_life_events_params"
126
+ require_relative "vitable_connect/models/member_list_qualifying_life_events_response"
127
+ require_relative "vitable_connect/models/member_list_response"
128
+ require_relative "vitable_connect/models/member_retrieve_household_params"
129
+ require_relative "vitable_connect/models/member_retrieve_household_response"
130
+ require_relative "vitable_connect/models/member_retrieve_params"
131
+ require_relative "vitable_connect/models/member_retrieve_response"
132
+ require_relative "vitable_connect/models/organization_create_params"
133
+ require_relative "vitable_connect/models/organization_create_response"
134
+ require_relative "vitable_connect/models/organization_list_params"
135
+ require_relative "vitable_connect/models/organization_list_response"
91
136
  require_relative "vitable_connect/models/pagination"
92
137
  require_relative "vitable_connect/models/plan_list_params"
93
138
  require_relative "vitable_connect/models/plan_list_response"
94
- require_relative "vitable_connect/models/type"
95
139
  require_relative "vitable_connect/models/webhook_event"
96
140
  require_relative "vitable_connect/models/webhook_event_list_deliveries_params"
97
141
  require_relative "vitable_connect/models/webhook_event_list_deliveries_response"
@@ -100,12 +144,13 @@ require_relative "vitable_connect/models/webhook_event_retrieve_params"
100
144
  require_relative "vitable_connect/models/webhook_event_retrieve_response"
101
145
  require_relative "vitable_connect/models"
102
146
  require_relative "vitable_connect/resources/auth"
103
- require_relative "vitable_connect/resources/benefit_eligibility_policies"
104
147
  require_relative "vitable_connect/resources/employees"
105
148
  require_relative "vitable_connect/resources/employers"
106
149
  require_relative "vitable_connect/resources/enrollments"
107
150
  require_relative "vitable_connect/resources/groups"
108
151
  require_relative "vitable_connect/resources/groups/members"
109
152
  require_relative "vitable_connect/resources/groups/members/sync"
153
+ require_relative "vitable_connect/resources/members"
154
+ require_relative "vitable_connect/resources/organizations"
110
155
  require_relative "vitable_connect/resources/plans"
111
156
  require_relative "vitable_connect/resources/webhook_events"
@@ -28,10 +28,6 @@ module VitableConnect
28
28
  sig { returns(VitableConnect::Resources::Auth) }
29
29
  attr_reader :auth
30
30
 
31
- # Define rules that determine which employees qualify for benefits
32
- sig { returns(VitableConnect::Resources::BenefitEligibilityPolicies) }
33
- attr_reader :benefit_eligibility_policies
34
-
35
31
  sig { returns(VitableConnect::Resources::Employees) }
36
32
  attr_reader :employees
37
33
 
@@ -48,12 +44,28 @@ module VitableConnect
48
44
  sig { returns(VitableConnect::Resources::Groups) }
49
45
  attr_reader :groups
50
46
 
47
+ # Browse the members covered across your book and read a member's profile
48
+ sig { returns(VitableConnect::Resources::Members) }
49
+ attr_reader :members
50
+
51
+ sig { returns(VitableConnect::Resources::Organizations) }
52
+ attr_reader :organizations
53
+
51
54
  sig { returns(VitableConnect::Resources::Plans) }
52
55
  attr_reader :plans
53
56
 
54
57
  # @api private
55
- sig { override.returns(T::Hash[String, String]) }
56
- private def auth_headers
58
+ sig do
59
+ override
60
+ .params(security: { api_key_auth: T::Boolean })
61
+ .returns(T::Hash[String, String])
62
+ end
63
+ private def auth_headers(security:)
64
+ end
65
+
66
+ # @api private
67
+ sig { returns(T::Hash[String, String]) }
68
+ private def api_key_auth
57
69
  end
58
70
 
59
71
  # Creates and returns a new client for interacting with the API.
@@ -52,6 +52,7 @@ module VitableConnect
52
52
  stream: T.nilable(T::Class[T.anything]),
53
53
  model:
54
54
  T.nilable(VitableConnect::Internal::Type::Converter::Input),
55
+ security: T.nilable({ api_key_auth: T::Boolean }),
55
56
  options: T.nilable(VitableConnect::RequestOptions::OrHash)
56
57
  }
57
58
  end
@@ -238,7 +239,7 @@ module VitableConnect
238
239
  # Execute the request specified by `req`. This is the method that all resource
239
240
  # methods call into.
240
241
  #
241
- # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: VitableConnect::Internal::Type::Unknown, options: {})
242
+ # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: VitableConnect::Internal::Type::Unknown, security: {api_key_auth: true}, options: {})
242
243
  sig do
243
244
  params(
244
245
  method: Symbol,
@@ -280,6 +281,7 @@ module VitableConnect
280
281
  ),
281
282
  stream: T.nilable(T::Class[T.anything]),
282
283
  model: T.nilable(VitableConnect::Internal::Type::Converter::Input),
284
+ security: T.nilable({ api_key_auth: T::Boolean }),
283
285
  options: T.nilable(VitableConnect::RequestOptions::OrHash)
284
286
  ).returns(T.anything)
285
287
  end
@@ -293,6 +295,7 @@ module VitableConnect
293
295
  page: nil,
294
296
  stream: nil,
295
297
  model: VitableConnect::Internal::Type::Unknown,
298
+ security: { api_key_auth: true },
296
299
  options: {}
297
300
  )
298
301
  end
@@ -117,14 +117,20 @@ module VitableConnect
117
117
 
118
118
  # - `employer` - employer
119
119
  # - `employee` - employee
120
- sig { returns(VitableConnect::Type::OrSymbol) }
120
+ sig do
121
+ returns(
122
+ VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::OrSymbol
123
+ )
124
+ end
121
125
  attr_accessor :type
122
126
 
123
127
  # Optional entity to bind the token to for scoped access
124
128
  sig do
125
- params(id: String, type: VitableConnect::Type::OrSymbol).returns(
126
- T.attached_class
127
- )
129
+ params(
130
+ id: String,
131
+ type:
132
+ VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::OrSymbol
133
+ ).returns(T.attached_class)
128
134
  end
129
135
  def self.new(
130
136
  # Prefixed entity ID to bind the token to (empr*\* for employer, empl*\* for
@@ -137,10 +143,52 @@ module VitableConnect
137
143
  end
138
144
 
139
145
  sig do
140
- override.returns({ id: String, type: VitableConnect::Type::OrSymbol })
146
+ override.returns(
147
+ {
148
+ id: String,
149
+ type:
150
+ VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::OrSymbol
151
+ }
152
+ )
141
153
  end
142
154
  def to_hash
143
155
  end
156
+
157
+ # - `employer` - employer
158
+ # - `employee` - employee
159
+ module Type
160
+ extend VitableConnect::Internal::Type::Enum
161
+
162
+ TaggedSymbol =
163
+ T.type_alias do
164
+ T.all(
165
+ Symbol,
166
+ VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type
167
+ )
168
+ end
169
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
170
+
171
+ EMPLOYER =
172
+ T.let(
173
+ :employer,
174
+ VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::TaggedSymbol
175
+ )
176
+ EMPLOYEE =
177
+ T.let(
178
+ :employee,
179
+ VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::TaggedSymbol
180
+ )
181
+
182
+ sig do
183
+ override.returns(
184
+ T::Array[
185
+ VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::TaggedSymbol
186
+ ]
187
+ )
188
+ end
189
+ def self.values
190
+ end
191
+ end
144
192
  end
145
193
  end
146
194
  end