vitable-connect 0.5.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.
- checksums.yaml +4 -4
- data/.fern/metadata.json +16 -0
- data/.fernignore +7 -0
- data/.rubocop.yml +110 -0
- data/CONTRIBUTING.md +120 -0
- data/LICENSE +201 -0
- data/README.md +170 -123
- data/Rakefile +20 -0
- data/custom.gemspec.rb +16 -0
- data/lib/VitableConnect/auth/client.rb +52 -0
- data/lib/VitableConnect/auth/types/issue_access_token_request.rb +13 -0
- data/lib/VitableConnect/client.rb +67 -0
- data/lib/VitableConnect/employees/client.rb +161 -0
- data/lib/VitableConnect/employees/types/get_employees_request.rb +11 -0
- data/lib/VitableConnect/employees/types/list_enrollments_employees_request.rb +15 -0
- data/lib/VitableConnect/employees/types/patched_update_employee_request.rb +27 -0
- data/lib/VitableConnect/employers/client.rb +904 -0
- data/lib/VitableConnect/employers/types/census_sync_request.rb +13 -0
- data/lib/VitableConnect/employers/types/create_employer_request.rb +23 -0
- data/lib/VitableConnect/employers/types/ensure_payroll_integration_email_employers_request.rb +11 -0
- data/lib/VitableConnect/employers/types/get_benefit_plan_year_employers_request.rb +13 -0
- data/lib/VitableConnect/employers/types/get_employers_request.rb +11 -0
- data/lib/VitableConnect/employers/types/get_hris_employers_request.rb +11 -0
- data/lib/VitableConnect/employers/types/get_invoice_pdf_employers_request.rb +13 -0
- data/lib/VitableConnect/employers/types/get_payroll_access_setup_employers_request.rb +11 -0
- data/lib/VitableConnect/employers/types/list_benefit_plan_year_enrollments_employers_request.rb +21 -0
- data/lib/VitableConnect/employers/types/list_benefit_plan_years_employers_request.rb +11 -0
- data/lib/VitableConnect/employers/types/list_employees_employers_request.rb +19 -0
- data/lib/VitableConnect/employers/types/list_employers_request.rb +25 -0
- data/lib/VitableConnect/employers/types/list_invoices_employers_request.rb +15 -0
- data/lib/VitableConnect/employers/types/list_payroll_deduction_statements_employers_request.rb +15 -0
- data/lib/VitableConnect/employers/types/submit_payroll_access_setup_request.rb +57 -0
- data/lib/VitableConnect/employers/types/update_employer_request.rb +19 -0
- data/lib/VitableConnect/employers/types/update_employer_settings_request.rb +13 -0
- data/lib/VitableConnect/enrollments/client.rb +152 -0
- data/lib/VitableConnect/enrollments/types/get_enrollments_request.rb +11 -0
- data/lib/VitableConnect/enrollments/types/reissue_enrollment_request.rb +17 -0
- data/lib/VitableConnect/enrollments/types/terminate_enrollment_request.rb +17 -0
- data/lib/VitableConnect/environment.rb +9 -0
- data/lib/VitableConnect/errors/api_error.rb +8 -0
- data/lib/VitableConnect/errors/client_error.rb +17 -0
- data/lib/VitableConnect/errors/redirect_error.rb +8 -0
- data/lib/VitableConnect/errors/response_error.rb +42 -0
- data/lib/VitableConnect/errors/server_error.rb +11 -0
- data/lib/VitableConnect/errors/timeout_error.rb +8 -0
- data/lib/VitableConnect/groups/client.rb +199 -0
- data/lib/VitableConnect/groups/members/client.rb +21 -0
- data/lib/VitableConnect/groups/members/sync/client.rb +122 -0
- data/lib/VitableConnect/groups/members/sync/types/get_sync_request.rb +17 -0
- data/lib/VitableConnect/groups/members/sync/types/group_member_sync_request.rb +17 -0
- data/lib/VitableConnect/groups/types/create_group_request.rb +13 -0
- data/lib/VitableConnect/groups/types/get_groups_request.rb +11 -0
- data/lib/VitableConnect/groups/types/list_groups_request.rb +13 -0
- data/lib/VitableConnect/groups/types/patched_update_group_request.rb +15 -0
- data/lib/VitableConnect/internal/errors/constraint_error.rb +10 -0
- data/lib/VitableConnect/internal/errors/type_error.rb +10 -0
- data/lib/VitableConnect/internal/http/base_request.rb +51 -0
- data/lib/VitableConnect/internal/http/raw_client.rb +265 -0
- data/lib/VitableConnect/internal/iterators/cursor_item_iterator.rb +28 -0
- data/lib/VitableConnect/internal/iterators/cursor_page_iterator.rb +63 -0
- data/lib/VitableConnect/internal/iterators/item_iterator.rb +65 -0
- data/lib/VitableConnect/internal/iterators/offset_item_iterator.rb +30 -0
- data/lib/VitableConnect/internal/iterators/offset_page_iterator.rb +103 -0
- data/lib/VitableConnect/internal/json/request.rb +41 -0
- data/lib/VitableConnect/internal/json/serializable.rb +25 -0
- data/lib/VitableConnect/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/VitableConnect/internal/multipart/multipart_form_data.rb +78 -0
- data/lib/VitableConnect/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/VitableConnect/internal/multipart/multipart_request.rb +40 -0
- data/lib/VitableConnect/internal/types/array.rb +47 -0
- data/lib/VitableConnect/internal/types/boolean.rb +34 -0
- data/lib/VitableConnect/internal/types/enum.rb +56 -0
- data/lib/VitableConnect/internal/types/hash.rb +36 -0
- data/lib/VitableConnect/internal/types/model/field.rb +38 -0
- data/lib/VitableConnect/internal/types/model.rb +208 -0
- data/lib/VitableConnect/internal/types/type.rb +35 -0
- data/lib/VitableConnect/internal/types/union.rb +161 -0
- data/lib/VitableConnect/internal/types/unknown.rb +15 -0
- data/lib/VitableConnect/internal/types/utils.rb +116 -0
- data/lib/VitableConnect/members/client.rb +385 -0
- data/lib/VitableConnect/members/types/get_household_members_request.rb +11 -0
- data/lib/VitableConnect/members/types/get_members_request.rb +11 -0
- data/lib/VitableConnect/members/types/list_dependents_members_request.rb +11 -0
- data/lib/VitableConnect/members/types/list_employments_members_request.rb +11 -0
- data/lib/VitableConnect/members/types/list_enrollments_members_request.rb +11 -0
- data/lib/VitableConnect/members/types/list_id_cards_members_request.rb +11 -0
- data/lib/VitableConnect/members/types/list_members_request.rb +15 -0
- data/lib/VitableConnect/members/types/list_qualifying_life_events_members_request.rb +17 -0
- data/lib/VitableConnect/organizations/client.rb +92 -0
- data/lib/VitableConnect/organizations/types/create_organization_request.rb +13 -0
- data/lib/VitableConnect/plans/client.rb +69 -0
- data/lib/VitableConnect/plans/types/list_plans_request.rb +13 -0
- data/lib/VitableConnect/types/access_method.rb +12 -0
- data/lib/VitableConnect/types/access_token_response.rb +15 -0
- data/lib/VitableConnect/types/additional_access_method.rb +12 -0
- data/lib/VitableConnect/types/address.rb +22 -0
- data/lib/VitableConnect/types/address_request.rb +17 -0
- data/lib/VitableConnect/types/benefit_family.rb +16 -0
- data/lib/VitableConnect/types/benefit_family_param_item.rb +16 -0
- data/lib/VitableConnect/types/benefit_lifecycle_stage_item.rb +15 -0
- data/lib/VitableConnect/types/benefit_plan_network.rb +29 -0
- data/lib/VitableConnect/types/benefit_plan_year_detail.rb +52 -0
- data/lib/VitableConnect/types/benefit_plan_year_id.rb +23 -0
- data/lib/VitableConnect/types/benefit_plan_year_list.rb +47 -0
- data/lib/VitableConnect/types/benefit_status.rb +14 -0
- data/lib/VitableConnect/types/benefit_summary.rb +15 -0
- data/lib/VitableConnect/types/bound_entity.rb +11 -0
- data/lib/VitableConnect/types/bound_entity_response.rb +11 -0
- data/lib/VitableConnect/types/bound_entity_type.rb +12 -0
- data/lib/VitableConnect/types/card_type.rb +14 -0
- data/lib/VitableConnect/types/category.rb +14 -0
- data/lib/VitableConnect/types/census_sync_detail_response.rb +10 -0
- data/lib/VitableConnect/types/census_sync_employee_address_request.rb +17 -0
- data/lib/VitableConnect/types/census_sync_employee_request.rb +27 -0
- data/lib/VitableConnect/types/census_sync_response.rb +11 -0
- data/lib/VitableConnect/types/classification_correction_source.rb +12 -0
- data/lib/VitableConnect/types/compensation_type.rb +12 -0
- data/lib/VitableConnect/types/contribution_class_compensation.rb +13 -0
- data/lib/VitableConnect/types/contribution_class_employment.rb +15 -0
- data/lib/VitableConnect/types/contribution_class_location.rb +12 -0
- data/lib/VitableConnect/types/contribution_range.rb +11 -0
- data/lib/VitableConnect/types/contribution_strategy.rb +13 -0
- data/lib/VitableConnect/types/contribution_tier.rb +26 -0
- data/lib/VitableConnect/types/coverage_tier.rb +15 -0
- data/lib/VitableConnect/types/create_organization_request_type.rb +16 -0
- data/lib/VitableConnect/types/created_after.rb +23 -0
- data/lib/VitableConnect/types/created_before.rb +23 -0
- data/lib/VitableConnect/types/deduction_detail.rb +21 -0
- data/lib/VitableConnect/types/deduction_frequency.rb +14 -0
- data/lib/VitableConnect/types/digital_benefit_card.rb +36 -0
- data/lib/VitableConnect/types/election_status_item.rb +14 -0
- data/lib/VitableConnect/types/eligibility_policy.rb +17 -0
- data/lib/VitableConnect/types/eligibility_policy_rule.rb +15 -0
- data/lib/VitableConnect/types/eligibility_rule_compensation_type.rb +13 -0
- data/lib/VitableConnect/types/eligibility_rule_employee_class.rb +17 -0
- data/lib/VitableConnect/types/eligible_geographical_location.rb +11 -0
- data/lib/VitableConnect/types/eligible_geographical_location_type.rb +12 -0
- data/lib/VitableConnect/types/employee.rb +53 -0
- data/lib/VitableConnect/types/employee_address.rb +17 -0
- data/lib/VitableConnect/types/employee_address_input.rb +19 -0
- data/lib/VitableConnect/types/employee_class.rb +16 -0
- data/lib/VitableConnect/types/employee_id.rb +23 -0
- data/lib/VitableConnect/types/employee_list_response.rb +12 -0
- data/lib/VitableConnect/types/employee_response.rb +10 -0
- data/lib/VitableConnect/types/employee_search.rb +23 -0
- data/lib/VitableConnect/types/employee_status.rb +12 -0
- data/lib/VitableConnect/types/employer.rb +34 -0
- data/lib/VitableConnect/types/employer_address.rb +18 -0
- data/lib/VitableConnect/types/employer_address_input.rb +17 -0
- data/lib/VitableConnect/types/employer_benefit_lifecycle_stage.rb +11 -0
- data/lib/VitableConnect/types/employer_benefit_plan_year_response.rb +10 -0
- data/lib/VitableConnect/types/employer_benefit_plan_years_list_response.rb +9 -0
- data/lib/VitableConnect/types/employer_contact.rb +12 -0
- data/lib/VitableConnect/types/employer_hris.rb +9 -0
- data/lib/VitableConnect/types/employer_hris_response.rb +10 -0
- data/lib/VitableConnect/types/employer_hris_status.rb +13 -0
- data/lib/VitableConnect/types/employer_id.rb +23 -0
- data/lib/VitableConnect/types/employer_invoice_pdf.rb +9 -0
- data/lib/VitableConnect/types/employer_invoice_pdf_response.rb +10 -0
- data/lib/VitableConnect/types/employer_invoices_list_response.rb +12 -0
- data/lib/VitableConnect/types/employer_payroll_deduction_statement_list_response.rb +12 -0
- data/lib/VitableConnect/types/employer_response.rb +10 -0
- data/lib/VitableConnect/types/employer_search.rb +23 -0
- data/lib/VitableConnect/types/employer_settings.rb +9 -0
- data/lib/VitableConnect/types/employer_settings_response.rb +10 -0
- data/lib/VitableConnect/types/enrollment.rb +34 -0
- data/lib/VitableConnect/types/enrollment_detail.rb +39 -0
- data/lib/VitableConnect/types/enrollment_id.rb +23 -0
- data/lib/VitableConnect/types/enrollment_list_response.rb +12 -0
- data/lib/VitableConnect/types/enrollment_rate.rb +13 -0
- data/lib/VitableConnect/types/enrollment_rate_summary.rb +13 -0
- data/lib/VitableConnect/types/enrollment_response.rb +10 -0
- data/lib/VitableConnect/types/enrollment_status.rb +14 -0
- data/lib/VitableConnect/types/error_response.rb +17 -0
- data/lib/VitableConnect/types/event_id.rb +23 -0
- data/lib/VitableConnect/types/event_name.rb +21 -0
- data/lib/VitableConnect/types/gender.rb +15 -0
- data/lib/VitableConnect/types/grant_type.rb +11 -0
- data/lib/VitableConnect/types/group.rb +19 -0
- data/lib/VitableConnect/types/group_id.rb +23 -0
- data/lib/VitableConnect/types/group_list_response.rb +12 -0
- data/lib/VitableConnect/types/group_member_sync_detail_response.rb +10 -0
- data/lib/VitableConnect/types/group_member_sync_failure.rb +13 -0
- data/lib/VitableConnect/types/group_member_sync_member_request.rb +23 -0
- data/lib/VitableConnect/types/group_member_sync_request_detail.rb +17 -0
- data/lib/VitableConnect/types/group_member_sync_request_detail_response.rb +10 -0
- data/lib/VitableConnect/types/group_member_sync_response.rb +13 -0
- data/lib/VitableConnect/types/group_member_sync_results.rb +13 -0
- data/lib/VitableConnect/types/group_response.rb +10 -0
- data/lib/VitableConnect/types/household_member.rb +22 -0
- data/lib/VitableConnect/types/household_member_relationship.rb +14 -0
- data/lib/VitableConnect/types/household_member_type.rb +13 -0
- data/lib/VitableConnect/types/household_members_response.rb +10 -0
- data/lib/VitableConnect/types/hris_connection.rb +17 -0
- data/lib/VitableConnect/types/hris_status_item.rb +15 -0
- data/lib/VitableConnect/types/ichra_contribution_class.rb +29 -0
- data/lib/VitableConnect/types/idp_provider.rb +12 -0
- data/lib/VitableConnect/types/include_cancelled.rb +23 -0
- data/lib/VitableConnect/types/invoice.rb +15 -0
- data/lib/VitableConnect/types/invoice_id.rb +23 -0
- data/lib/VitableConnect/types/invoices_cursor_pagination.rb +9 -0
- data/lib/VitableConnect/types/limit.rb +23 -0
- data/lib/VitableConnect/types/list_webhook_event_deliveries_response.rb +9 -0
- data/lib/VitableConnect/types/marital_status.rb +12 -0
- data/lib/VitableConnect/types/member.rb +42 -0
- data/lib/VitableConnect/types/member_address.rb +17 -0
- data/lib/VitableConnect/types/member_dependents_response.rb +10 -0
- data/lib/VitableConnect/types/member_digital_benefit_cards_response.rb +10 -0
- data/lib/VitableConnect/types/member_employments_response.rb +10 -0
- data/lib/VitableConnect/types/member_enrollment.rb +58 -0
- data/lib/VitableConnect/types/member_enrollments_response.rb +10 -0
- data/lib/VitableConnect/types/member_id.rb +23 -0
- data/lib/VitableConnect/types/member_legal_dependent.rb +24 -0
- data/lib/VitableConnect/types/member_list_item.rb +20 -0
- data/lib/VitableConnect/types/member_list_response.rb +12 -0
- data/lib/VitableConnect/types/member_qualifying_life_event.rb +19 -0
- data/lib/VitableConnect/types/member_qualifying_life_event_list_response.rb +12 -0
- data/lib/VitableConnect/types/member_response.rb +10 -0
- data/lib/VitableConnect/types/member_search.rb +23 -0
- data/lib/VitableConnect/types/member_status.rb +12 -0
- data/lib/VitableConnect/types/missing_employee_resolution.rb +12 -0
- data/lib/VitableConnect/types/name_suffix.rb +17 -0
- data/lib/VitableConnect/types/offset.rb +23 -0
- data/lib/VitableConnect/types/operation.rb +12 -0
- data/lib/VitableConnect/types/organization.rb +19 -0
- data/lib/VitableConnect/types/organization_employer.rb +44 -0
- data/lib/VitableConnect/types/organization_employer_list_response.rb +12 -0
- data/lib/VitableConnect/types/organization_hris_provider.rb +11 -0
- data/lib/VitableConnect/types/organization_hris_providers_response.rb +10 -0
- data/lib/VitableConnect/types/organization_type.rb +16 -0
- data/lib/VitableConnect/types/organizations_list_response.rb +12 -0
- data/lib/VitableConnect/types/page.rb +23 -0
- data/lib/VitableConnect/types/pagination.rb +16 -0
- data/lib/VitableConnect/types/payroll_access_setup_status.rb +11 -0
- data/lib/VitableConnect/types/payroll_access_setup_status_response.rb +10 -0
- data/lib/VitableConnect/types/payroll_deduction_statement.rb +29 -0
- data/lib/VitableConnect/types/payroll_integration_email.rb +9 -0
- data/lib/VitableConnect/types/payroll_integration_email_response.rb +10 -0
- data/lib/VitableConnect/types/plan.rb +11 -0
- data/lib/VitableConnect/types/plan_list_response.rb +12 -0
- data/lib/VitableConnect/types/plan_year_enrollment.rb +35 -0
- data/lib/VitableConnect/types/plan_year_enrollment_election_status.rb +14 -0
- data/lib/VitableConnect/types/plan_year_enrollment_list_response.rb +12 -0
- data/lib/VitableConnect/types/plan_year_enrollment_policy_status.rb +14 -0
- data/lib/VitableConnect/types/preferred_language.rb +16 -0
- data/lib/VitableConnect/types/product_code.rb +25 -0
- data/lib/VitableConnect/types/qualifying_life_event_status.rb +13 -0
- data/lib/VitableConnect/types/qualifying_life_event_type.rb +31 -0
- data/lib/VitableConnect/types/reissue_enrollment.rb +9 -0
- data/lib/VitableConnect/types/reissue_enrollment_response.rb +10 -0
- data/lib/VitableConnect/types/relationship.rb +12 -0
- data/lib/VitableConnect/types/remaining_employee_action.rb +12 -0
- data/lib/VitableConnect/types/request_id.rb +23 -0
- data/lib/VitableConnect/types/resource_id.rb +23 -0
- data/lib/VitableConnect/types/resource_type.rb +16 -0
- data/lib/VitableConnect/types/search.rb +23 -0
- data/lib/VitableConnect/types/sex_at_birth.rb +14 -0
- data/lib/VitableConnect/types/state.rb +72 -0
- data/lib/VitableConnect/types/status.rb +13 -0
- data/lib/VitableConnect/types/tax_classification.rb +13 -0
- data/lib/VitableConnect/types/termination_rule.rb +12 -0
- data/lib/VitableConnect/types/update_employer_address_input.rb +17 -0
- data/lib/VitableConnect/types/waiting_period.rb +13 -0
- data/lib/VitableConnect/types/webhook_delivery.rb +25 -0
- data/lib/VitableConnect/types/webhook_event.rb +19 -0
- data/lib/VitableConnect/types/webhook_event_list_response.rb +12 -0
- data/lib/VitableConnect/types/webhook_event_response.rb +10 -0
- data/lib/{vitable_connect → VitableConnect}/version.rb +1 -1
- data/lib/VitableConnect/webhook_events/client.rb +156 -0
- data/lib/VitableConnect/webhook_events/types/get_webhook_events_request.rb +11 -0
- data/lib/VitableConnect/webhook_events/types/list_deliveries_webhook_events_request.rb +11 -0
- data/lib/VitableConnect/webhook_events/types/list_webhook_events_request.rb +23 -0
- data/lib/VitableConnect.rb +268 -0
- data/lib/vitable_connect.rb +4 -105
- data/reference.md +3722 -0
- metadata +286 -266
- data/.ignore +0 -2
- data/CHANGELOG.md +0 -133
- data/lib/vitable_connect/client.rb +0 -139
- data/lib/vitable_connect/errors.rb +0 -228
- data/lib/vitable_connect/file_part.rb +0 -58
- data/lib/vitable_connect/internal/page_number_page.rb +0 -113
- data/lib/vitable_connect/internal/transport/base_client.rb +0 -582
- data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +0 -210
- data/lib/vitable_connect/internal/type/array_of.rb +0 -168
- data/lib/vitable_connect/internal/type/base_model.rb +0 -534
- data/lib/vitable_connect/internal/type/base_page.rb +0 -55
- data/lib/vitable_connect/internal/type/boolean.rb +0 -77
- data/lib/vitable_connect/internal/type/converter.rb +0 -327
- data/lib/vitable_connect/internal/type/enum.rb +0 -152
- data/lib/vitable_connect/internal/type/file_input.rb +0 -111
- data/lib/vitable_connect/internal/type/hash_of.rb +0 -188
- data/lib/vitable_connect/internal/type/request_parameters.rb +0 -42
- data/lib/vitable_connect/internal/type/union.rb +0 -245
- data/lib/vitable_connect/internal/type/unknown.rb +0 -81
- data/lib/vitable_connect/internal/util.rb +0 -966
- data/lib/vitable_connect/internal.rb +0 -20
- data/lib/vitable_connect/models/auth_issue_access_token_params.rb +0 -68
- data/lib/vitable_connect/models/auth_issue_access_token_response.rb +0 -70
- data/lib/vitable_connect/models/employee.rb +0 -310
- data/lib/vitable_connect/models/employee_class.rb +0 -25
- data/lib/vitable_connect/models/employee_list_enrollments_params.rb +0 -38
- data/lib/vitable_connect/models/employee_retrieve_params.rb +0 -22
- data/lib/vitable_connect/models/employee_retrieve_response.rb +0 -18
- data/lib/vitable_connect/models/employer.rb +0 -155
- data/lib/vitable_connect/models/employer_create_params.rb +0 -115
- data/lib/vitable_connect/models/employer_list_employees_params.rb +0 -38
- data/lib/vitable_connect/models/employer_list_params.rb +0 -30
- data/lib/vitable_connect/models/employer_response.rb +0 -19
- data/lib/vitable_connect/models/employer_retrieve_params.rb +0 -22
- data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +0 -374
- data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +0 -35
- data/lib/vitable_connect/models/employer_update_settings_params.rb +0 -52
- data/lib/vitable_connect/models/employer_update_settings_response.rb +0 -56
- data/lib/vitable_connect/models/enrollment.rb +0 -234
- data/lib/vitable_connect/models/enrollment_retrieve_params.rb +0 -22
- data/lib/vitable_connect/models/enrollment_retrieve_response.rb +0 -18
- data/lib/vitable_connect/models/enrollment_status.rb +0 -21
- data/lib/vitable_connect/models/group.rb +0 -57
- data/lib/vitable_connect/models/group_create_params.rb +0 -26
- data/lib/vitable_connect/models/group_list_params.rb +0 -30
- data/lib/vitable_connect/models/group_response.rb +0 -18
- data/lib/vitable_connect/models/group_retrieve_params.rb +0 -22
- data/lib/vitable_connect/models/group_update_params.rb +0 -36
- data/lib/vitable_connect/models/groups/members/sync_retrieve_params.rb +0 -33
- data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +0 -128
- data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +0 -121
- data/lib/vitable_connect/models/groups/members/sync_submit_response.rb +0 -45
- data/lib/vitable_connect/models/pagination.rb +0 -42
- data/lib/vitable_connect/models/plan_list_params.rb +0 -30
- data/lib/vitable_connect/models/plan_list_response.rb +0 -22
- data/lib/vitable_connect/models/type.rb +0 -17
- data/lib/vitable_connect/models/webhook_event.rb +0 -62
- data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +0 -20
- data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +0 -92
- data/lib/vitable_connect/models/webhook_event_list_params.rb +0 -132
- data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +0 -20
- data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +0 -18
- data/lib/vitable_connect/models.rb +0 -104
- data/lib/vitable_connect/request_options.rb +0 -78
- data/lib/vitable_connect/resources/auth.rb +0 -41
- data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +0 -14
- data/lib/vitable_connect/resources/employees.rb +0 -65
- data/lib/vitable_connect/resources/employers.rb +0 -184
- data/lib/vitable_connect/resources/enrollments.rb +0 -35
- data/lib/vitable_connect/resources/groups/members/sync.rb +0 -74
- data/lib/vitable_connect/resources/groups/members.rb +0 -20
- data/lib/vitable_connect/resources/groups.rb +0 -114
- data/lib/vitable_connect/resources/plans.rb +0 -41
- data/lib/vitable_connect/resources/webhook_events.rb +0 -95
- data/manifest.yaml +0 -17
- data/rbi/vitable_connect/client.rbi +0 -93
- data/rbi/vitable_connect/errors.rbi +0 -205
- data/rbi/vitable_connect/file_part.rbi +0 -37
- data/rbi/vitable_connect/internal/page_number_page.rbi +0 -49
- data/rbi/vitable_connect/internal/transport/base_client.rbi +0 -307
- data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +0 -84
- data/rbi/vitable_connect/internal/type/array_of.rbi +0 -108
- data/rbi/vitable_connect/internal/type/base_model.rbi +0 -314
- data/rbi/vitable_connect/internal/type/base_page.rbi +0 -43
- data/rbi/vitable_connect/internal/type/boolean.rbi +0 -58
- data/rbi/vitable_connect/internal/type/converter.rbi +0 -225
- data/rbi/vitable_connect/internal/type/enum.rbi +0 -82
- data/rbi/vitable_connect/internal/type/file_input.rbi +0 -59
- data/rbi/vitable_connect/internal/type/hash_of.rbi +0 -108
- data/rbi/vitable_connect/internal/type/request_parameters.rbi +0 -31
- data/rbi/vitable_connect/internal/type/union.rbi +0 -130
- data/rbi/vitable_connect/internal/type/unknown.rbi +0 -58
- data/rbi/vitable_connect/internal/util.rbi +0 -515
- data/rbi/vitable_connect/internal.rbi +0 -18
- data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +0 -147
- data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +0 -128
- data/rbi/vitable_connect/models/employee.rbi +0 -450
- data/rbi/vitable_connect/models/employee_class.rbi +0 -38
- data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +0 -68
- data/rbi/vitable_connect/models/employee_retrieve_params.rbi +0 -46
- data/rbi/vitable_connect/models/employee_retrieve_response.rbi +0 -32
- data/rbi/vitable_connect/models/employer.rbi +0 -197
- data/rbi/vitable_connect/models/employer_create_params.rbi +0 -169
- data/rbi/vitable_connect/models/employer_list_employees_params.rbi +0 -68
- data/rbi/vitable_connect/models/employer_list_params.rbi +0 -60
- data/rbi/vitable_connect/models/employer_response.rbi +0 -36
- data/rbi/vitable_connect/models/employer_retrieve_params.rbi +0 -46
- data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +0 -819
- data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +0 -76
- data/rbi/vitable_connect/models/employer_update_settings_params.rbi +0 -114
- data/rbi/vitable_connect/models/employer_update_settings_response.rbi +0 -147
- data/rbi/vitable_connect/models/enrollment.rbi +0 -401
- data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +0 -46
- data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +0 -34
- data/rbi/vitable_connect/models/enrollment_status.rbi +0 -32
- data/rbi/vitable_connect/models/group.rbi +0 -77
- data/rbi/vitable_connect/models/group_create_params.rbi +0 -46
- data/rbi/vitable_connect/models/group_list_params.rbi +0 -60
- data/rbi/vitable_connect/models/group_response.rbi +0 -32
- data/rbi/vitable_connect/models/group_retrieve_params.rbi +0 -43
- data/rbi/vitable_connect/models/group_update_params.rbi +0 -58
- data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +0 -56
- data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +0 -282
- data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +0 -214
- data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +0 -92
- data/rbi/vitable_connect/models/pagination.rbi +0 -62
- data/rbi/vitable_connect/models/plan_list_params.rbi +0 -60
- data/rbi/vitable_connect/models/plan_list_response.rbi +0 -29
- data/rbi/vitable_connect/models/type.rbi +0 -21
- data/rbi/vitable_connect/models/webhook_event.rbi +0 -81
- data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +0 -38
- data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +0 -147
- data/rbi/vitable_connect/models/webhook_event_list_params.rbi +0 -299
- data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +0 -38
- data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +0 -34
- data/rbi/vitable_connect/models.rbi +0 -70
- data/rbi/vitable_connect/request_options.rbi +0 -61
- data/rbi/vitable_connect/resources/auth.rbi +0 -36
- data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +0 -12
- data/rbi/vitable_connect/resources/employees.rbi +0 -51
- data/rbi/vitable_connect/resources/employers.rbi +0 -150
- data/rbi/vitable_connect/resources/enrollments.rbi +0 -27
- data/rbi/vitable_connect/resources/groups/members/sync.rbi +0 -62
- data/rbi/vitable_connect/resources/groups/members.rbi +0 -17
- data/rbi/vitable_connect/resources/groups.rbi +0 -79
- data/rbi/vitable_connect/resources/plans.rbi +0 -34
- data/rbi/vitable_connect/resources/webhook_events.rbi +0 -83
- data/rbi/vitable_connect/version.rbi +0 -5
- data/sig/vitable_connect/client.rbs +0 -46
- data/sig/vitable_connect/errors.rbs +0 -117
- data/sig/vitable_connect/file_part.rbs +0 -21
- data/sig/vitable_connect/internal/page_number_page.rbs +0 -28
- data/sig/vitable_connect/internal/transport/base_client.rbs +0 -133
- data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +0 -48
- data/sig/vitable_connect/internal/type/array_of.rbs +0 -48
- data/sig/vitable_connect/internal/type/base_model.rbs +0 -104
- data/sig/vitable_connect/internal/type/base_page.rbs +0 -24
- data/sig/vitable_connect/internal/type/boolean.rbs +0 -26
- data/sig/vitable_connect/internal/type/converter.rbs +0 -79
- data/sig/vitable_connect/internal/type/enum.rbs +0 -32
- data/sig/vitable_connect/internal/type/file_input.rbs +0 -25
- data/sig/vitable_connect/internal/type/hash_of.rbs +0 -48
- data/sig/vitable_connect/internal/type/request_parameters.rbs +0 -20
- data/sig/vitable_connect/internal/type/union.rbs +0 -52
- data/sig/vitable_connect/internal/type/unknown.rbs +0 -26
- data/sig/vitable_connect/internal/util.rbs +0 -199
- data/sig/vitable_connect/internal.rbs +0 -10
- data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +0 -56
- data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +0 -50
- data/sig/vitable_connect/models/employee.rbs +0 -214
- data/sig/vitable_connect/models/employee_class.rbs +0 -24
- data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +0 -36
- data/sig/vitable_connect/models/employee_retrieve_params.rbs +0 -24
- data/sig/vitable_connect/models/employee_retrieve_response.rbs +0 -13
- data/sig/vitable_connect/models/employer.rbs +0 -112
- data/sig/vitable_connect/models/employer_create_params.rbs +0 -93
- data/sig/vitable_connect/models/employer_list_employees_params.rbs +0 -36
- data/sig/vitable_connect/models/employer_list_params.rbs +0 -32
- data/sig/vitable_connect/models/employer_response.rbs +0 -13
- data/sig/vitable_connect/models/employer_retrieve_params.rbs +0 -24
- data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +0 -274
- data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +0 -30
- data/sig/vitable_connect/models/employer_update_settings_params.rbs +0 -44
- data/sig/vitable_connect/models/employer_update_settings_response.rbs +0 -48
- data/sig/vitable_connect/models/enrollment.rbs +0 -164
- data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +0 -24
- data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +0 -13
- data/sig/vitable_connect/models/enrollment_status.rbs +0 -16
- data/sig/vitable_connect/models/group.rbs +0 -45
- data/sig/vitable_connect/models/group_create_params.rbs +0 -28
- data/sig/vitable_connect/models/group_list_params.rbs +0 -32
- data/sig/vitable_connect/models/group_response.rbs +0 -13
- data/sig/vitable_connect/models/group_retrieve_params.rbs +0 -23
- data/sig/vitable_connect/models/group_update_params.rbs +0 -32
- data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +0 -32
- data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +0 -126
- data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +0 -124
- data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +0 -47
- data/sig/vitable_connect/models/pagination.rbs +0 -30
- data/sig/vitable_connect/models/plan_list_params.rbs +0 -32
- data/sig/vitable_connect/models/plan_list_response.rbs +0 -15
- data/sig/vitable_connect/models/type.rbs +0 -14
- data/sig/vitable_connect/models/webhook_event.rbs +0 -45
- data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +0 -23
- data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +0 -77
- data/sig/vitable_connect/models/webhook_event_list_params.rbs +0 -124
- data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +0 -23
- data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +0 -14
- data/sig/vitable_connect/models.rbs +0 -61
- data/sig/vitable_connect/request_options.rbs +0 -36
- data/sig/vitable_connect/resources/auth.rbs +0 -13
- data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +0 -7
- data/sig/vitable_connect/resources/employees.rbs +0 -19
- data/sig/vitable_connect/resources/employers.rbs +0 -48
- data/sig/vitable_connect/resources/enrollments.rbs +0 -12
- data/sig/vitable_connect/resources/groups/members/sync.rbs +0 -23
- data/sig/vitable_connect/resources/groups/members.rbs +0 -11
- data/sig/vitable_connect/resources/groups.rbs +0 -33
- data/sig/vitable_connect/resources/plans.rbs +0 -13
- data/sig/vitable_connect/resources/webhook_events.rbs +0 -28
- data/sig/vitable_connect/version.rbs +0 -3
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Members
|
|
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 a member's profile by ID — identity, demographics, address, contact details, tobacco status, and
|
|
14
|
+
# profile status. Access is scoped to the authenticated principal; a member not visible to the caller returns a
|
|
15
|
+
# 404.
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [Hash]
|
|
18
|
+
# @param params [Hash]
|
|
19
|
+
# @option request_options [String] :base_url
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
21
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
22
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
23
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
24
|
+
# @option params [VitableConnect::Types::MemberID] :member_id
|
|
25
|
+
#
|
|
26
|
+
# @example
|
|
27
|
+
# client.members.get(member_id: "mbr_abc123def456")
|
|
28
|
+
#
|
|
29
|
+
# @return [VitableConnect::Types::MemberResponse]
|
|
30
|
+
def get(request_options: {}, **params)
|
|
31
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
32
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
33
|
+
base_url: request_options[:base_url],
|
|
34
|
+
method: "GET",
|
|
35
|
+
path: "v1/members/#{URI.encode_uri_component(params[:member_id].to_s)}",
|
|
36
|
+
request_options: request_options
|
|
37
|
+
)
|
|
38
|
+
begin
|
|
39
|
+
response = @client.send(request)
|
|
40
|
+
rescue Net::HTTPRequestTimeout
|
|
41
|
+
raise VitableConnect::Errors::TimeoutError
|
|
42
|
+
end
|
|
43
|
+
code = response.code.to_i
|
|
44
|
+
if code.between?(200, 299)
|
|
45
|
+
VitableConnect::Types::MemberResponse.load(response.body)
|
|
46
|
+
else
|
|
47
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
48
|
+
raise error_class.new(response.body, code: code)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Lists a member's active legal dependents — name, relationship, date of birth, age, and sex at birth. Access is
|
|
53
|
+
# scoped to the authenticated principal; a member not visible to the caller returns a 404.
|
|
54
|
+
#
|
|
55
|
+
# @param request_options [Hash]
|
|
56
|
+
# @param params [Hash]
|
|
57
|
+
# @option request_options [String] :base_url
|
|
58
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
59
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
60
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
61
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
62
|
+
# @option params [VitableConnect::Types::MemberID] :member_id
|
|
63
|
+
#
|
|
64
|
+
# @example
|
|
65
|
+
# client.members.list_dependents(member_id: "mbr_abc123def456")
|
|
66
|
+
#
|
|
67
|
+
# @return [VitableConnect::Types::MemberDependentsResponse]
|
|
68
|
+
def list_dependents(request_options: {}, **params)
|
|
69
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
70
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
71
|
+
base_url: request_options[:base_url],
|
|
72
|
+
method: "GET",
|
|
73
|
+
path: "v1/members/#{URI.encode_uri_component(params[:member_id].to_s)}/dependents",
|
|
74
|
+
request_options: request_options
|
|
75
|
+
)
|
|
76
|
+
begin
|
|
77
|
+
response = @client.send(request)
|
|
78
|
+
rescue Net::HTTPRequestTimeout
|
|
79
|
+
raise VitableConnect::Errors::TimeoutError
|
|
80
|
+
end
|
|
81
|
+
code = response.code.to_i
|
|
82
|
+
if code.between?(200, 299)
|
|
83
|
+
VitableConnect::Types::MemberDependentsResponse.load(response.body)
|
|
84
|
+
else
|
|
85
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
86
|
+
raise error_class.new(response.body, code: code)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Lists a member's employment across every employer — the same employee record shape as the employer's employees
|
|
91
|
+
# list, plus the employer name. For an organization caller the rows are scoped to companies in that organization's
|
|
92
|
+
# book; a member (self/household) or Vitable Admin sees all employments. A member not visible to the caller
|
|
93
|
+
# returns a 404.
|
|
94
|
+
#
|
|
95
|
+
# @param request_options [Hash]
|
|
96
|
+
# @param params [Hash]
|
|
97
|
+
# @option request_options [String] :base_url
|
|
98
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
99
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
100
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
101
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
102
|
+
# @option params [VitableConnect::Types::MemberID] :member_id
|
|
103
|
+
#
|
|
104
|
+
# @example
|
|
105
|
+
# client.members.list_employments(member_id: "mbr_abc123def456")
|
|
106
|
+
#
|
|
107
|
+
# @return [VitableConnect::Types::MemberEmploymentsResponse]
|
|
108
|
+
def list_employments(request_options: {}, **params)
|
|
109
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
110
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
111
|
+
base_url: request_options[:base_url],
|
|
112
|
+
method: "GET",
|
|
113
|
+
path: "v1/members/#{URI.encode_uri_component(params[:member_id].to_s)}/employments",
|
|
114
|
+
request_options: request_options
|
|
115
|
+
)
|
|
116
|
+
begin
|
|
117
|
+
response = @client.send(request)
|
|
118
|
+
rescue Net::HTTPRequestTimeout
|
|
119
|
+
raise VitableConnect::Errors::TimeoutError
|
|
120
|
+
end
|
|
121
|
+
code = response.code.to_i
|
|
122
|
+
if code.between?(200, 299)
|
|
123
|
+
VitableConnect::Types::MemberEmploymentsResponse.load(response.body)
|
|
124
|
+
else
|
|
125
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
126
|
+
raise error_class.new(response.body, code: code)
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# Lists a member's benefit enrollments across every employer — benefit type and product, employer, carrier, plan,
|
|
131
|
+
# tier, employee deduction, employer contribution and total premium, the individual enrollment coverage boundary
|
|
132
|
+
# (`coverage_end`), the separate pre-effective cancellation boundary (`cancelled_date`), and the distinct benefit
|
|
133
|
+
# plan-year boundary (`plan_year_coverage_end`) used to determine whether the plan year itself has ended, the date
|
|
134
|
+
# the enrollment record was created (`issued_date`, the value Ops labels Issued on, reported for every row
|
|
135
|
+
# whatever the member answered), the window the member could answer in -- which never opens before the enrollment
|
|
136
|
+
# was issued, so a row issued mid-open-enrollment starts its window on its issue date -- whether a qualifying life
|
|
137
|
+
# event would currently be required for reissue under the product/open-enrollment rule, enrollment/open-enrollment
|
|
138
|
+
# window, and two statuses: `election_status` (what the member answered) and `policy_status` (what became of their
|
|
139
|
+
# coverage, null unless they enrolled). Every row includes a stable enrollment ID and the exact employer and
|
|
140
|
+
# benefit plan-year IDs used to fetch that row's plan-year detail. The full list is returned across all states so
|
|
141
|
+
# the client derives active plans (effective and upcoming) and the enrollment history from those per-row statuses.
|
|
142
|
+
# For an organization caller the rows are scoped to companies in that organization's book; a member
|
|
143
|
+
# (self/household) or Vitable Admin sees all enrollments. A member not visible to the caller returns a 404.
|
|
144
|
+
#
|
|
145
|
+
# @param request_options [Hash]
|
|
146
|
+
# @param params [Hash]
|
|
147
|
+
# @option request_options [String] :base_url
|
|
148
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
149
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
150
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
151
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
152
|
+
# @option params [VitableConnect::Types::MemberID] :member_id
|
|
153
|
+
#
|
|
154
|
+
# @example
|
|
155
|
+
# client.members.list_enrollments(member_id: "mbr_abc123def456")
|
|
156
|
+
#
|
|
157
|
+
# @return [VitableConnect::Types::MemberEnrollmentsResponse]
|
|
158
|
+
def list_enrollments(request_options: {}, **params)
|
|
159
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
160
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
161
|
+
base_url: request_options[:base_url],
|
|
162
|
+
method: "GET",
|
|
163
|
+
path: "v1/members/#{URI.encode_uri_component(params[:member_id].to_s)}/enrollments",
|
|
164
|
+
request_options: request_options
|
|
165
|
+
)
|
|
166
|
+
begin
|
|
167
|
+
response = @client.send(request)
|
|
168
|
+
rescue Net::HTTPRequestTimeout
|
|
169
|
+
raise VitableConnect::Errors::TimeoutError
|
|
170
|
+
end
|
|
171
|
+
code = response.code.to_i
|
|
172
|
+
if code.between?(200, 299)
|
|
173
|
+
VitableConnect::Types::MemberEnrollmentsResponse.load(response.body)
|
|
174
|
+
else
|
|
175
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
176
|
+
raise error_class.new(response.body, code: code)
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# Lists a member's household as a per-participant table — the account holder plus each active household member,
|
|
181
|
+
# with name, relationship, member type, date of birth, and household-admin flag. Access is scoped to the
|
|
182
|
+
# authenticated principal; a member not visible to the caller (or with no household) returns a 404.
|
|
183
|
+
#
|
|
184
|
+
# @param request_options [Hash]
|
|
185
|
+
# @param params [Hash]
|
|
186
|
+
# @option request_options [String] :base_url
|
|
187
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
188
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
189
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
190
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
191
|
+
# @option params [VitableConnect::Types::MemberID] :member_id
|
|
192
|
+
#
|
|
193
|
+
# @example
|
|
194
|
+
# client.members.get_household(member_id: "mbr_abc123def456")
|
|
195
|
+
#
|
|
196
|
+
# @return [VitableConnect::Types::HouseholdMembersResponse]
|
|
197
|
+
def get_household(request_options: {}, **params)
|
|
198
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
199
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
200
|
+
base_url: request_options[:base_url],
|
|
201
|
+
method: "GET",
|
|
202
|
+
path: "v1/members/#{URI.encode_uri_component(params[:member_id].to_s)}/household",
|
|
203
|
+
request_options: request_options
|
|
204
|
+
)
|
|
205
|
+
begin
|
|
206
|
+
response = @client.send(request)
|
|
207
|
+
rescue Net::HTTPRequestTimeout
|
|
208
|
+
raise VitableConnect::Errors::TimeoutError
|
|
209
|
+
end
|
|
210
|
+
code = response.code.to_i
|
|
211
|
+
if code.between?(200, 299)
|
|
212
|
+
VitableConnect::Types::HouseholdMembersResponse.load(response.body)
|
|
213
|
+
else
|
|
214
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
215
|
+
raise error_class.new(response.body, code: code)
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
# Lists a member's benefit ID cards — card type (medical, dental, vision, or rx), employer, plan, provider
|
|
220
|
+
# network, claims payer, carrier contact details, and the disclaimers printed on the card. Medical, dental and
|
|
221
|
+
# vision cards come from the member's active digital benefit cards; the rx card from the member's Ventegra
|
|
222
|
+
# pharmacy benefit (omitted when the member has no free-medication coverage), which carries no plan, network, or
|
|
223
|
+
# carrier details. Access is scoped to the authenticated principal, and an organization caller sees only cards
|
|
224
|
+
# from employers in its book; a member not visible to the caller returns a 404.
|
|
225
|
+
#
|
|
226
|
+
# @param request_options [Hash]
|
|
227
|
+
# @param params [Hash]
|
|
228
|
+
# @option request_options [String] :base_url
|
|
229
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
230
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
231
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
232
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
233
|
+
# @option params [VitableConnect::Types::MemberID] :member_id
|
|
234
|
+
#
|
|
235
|
+
# @example
|
|
236
|
+
# client.members.list_id_cards(member_id: "mbr_abc123def456")
|
|
237
|
+
#
|
|
238
|
+
# @return [VitableConnect::Types::MemberDigitalBenefitCardsResponse]
|
|
239
|
+
def list_id_cards(request_options: {}, **params)
|
|
240
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
241
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
242
|
+
base_url: request_options[:base_url],
|
|
243
|
+
method: "GET",
|
|
244
|
+
path: "v1/members/#{URI.encode_uri_component(params[:member_id].to_s)}/id-cards",
|
|
245
|
+
request_options: request_options
|
|
246
|
+
)
|
|
247
|
+
begin
|
|
248
|
+
response = @client.send(request)
|
|
249
|
+
rescue Net::HTTPRequestTimeout
|
|
250
|
+
raise VitableConnect::Errors::TimeoutError
|
|
251
|
+
end
|
|
252
|
+
code = response.code.to_i
|
|
253
|
+
if code.between?(200, 299)
|
|
254
|
+
VitableConnect::Types::MemberDigitalBenefitCardsResponse.load(response.body)
|
|
255
|
+
else
|
|
256
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
257
|
+
raise error_class.new(response.body, code: code)
|
|
258
|
+
end
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
# Lists a member's qualifying life events, including events already used for another enrollment. Returns all
|
|
262
|
+
# statuses by default; pass the status query param to filter to one (e.g. approved). Events are ordered newest
|
|
263
|
+
# submission first with stable paging. Custom text is present only when submitted and is otherwise null. A member
|
|
264
|
+
# not visible to the caller returns a 404. API keys and unbound access tokens have organization-wide access.
|
|
265
|
+
# Employer-bound tokens require employment at the bound employer, and employee-bound tokens require the exact
|
|
266
|
+
# employee-member relationship. Organization or scope mismatches return a 404 before pagination is validated.
|
|
267
|
+
#
|
|
268
|
+
# @param request_options [Hash]
|
|
269
|
+
# @param params [Hash]
|
|
270
|
+
# @option request_options [String] :base_url
|
|
271
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
272
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
273
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
274
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
275
|
+
# @option params [VitableConnect::Types::MemberID] :member_id
|
|
276
|
+
# @option params [Integer, nil] :limit
|
|
277
|
+
# @option params [Integer, nil] :page
|
|
278
|
+
# @option params [VitableConnect::Types::Status, nil] :status
|
|
279
|
+
#
|
|
280
|
+
# @example
|
|
281
|
+
# client.members.list_qualifying_life_events(
|
|
282
|
+
# member_id: "mbr_abc123def456",
|
|
283
|
+
# limit: 20,
|
|
284
|
+
# page: 1
|
|
285
|
+
# )
|
|
286
|
+
#
|
|
287
|
+
# @return [VitableConnect::Types::MemberQualifyingLifeEventListResponse]
|
|
288
|
+
def list_qualifying_life_events(request_options: {}, **params)
|
|
289
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
290
|
+
query_params = {}
|
|
291
|
+
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
292
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
293
|
+
query_params["status"] = params[:status] if params.key?(:status)
|
|
294
|
+
|
|
295
|
+
VitableConnect::Internal::OffsetItemIterator.new(
|
|
296
|
+
initial_page: query_params["page"],
|
|
297
|
+
item_field: :data,
|
|
298
|
+
has_next_field: nil,
|
|
299
|
+
step: false
|
|
300
|
+
) do |next_page|
|
|
301
|
+
query_params["page"] = next_page
|
|
302
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
303
|
+
base_url: request_options[:base_url],
|
|
304
|
+
method: "GET",
|
|
305
|
+
path: "v1/members/#{URI.encode_uri_component(params[:member_id].to_s)}/qualifying-life-events",
|
|
306
|
+
query: query_params,
|
|
307
|
+
request_options: request_options
|
|
308
|
+
)
|
|
309
|
+
begin
|
|
310
|
+
response = @client.send(request)
|
|
311
|
+
rescue Net::HTTPRequestTimeout
|
|
312
|
+
raise VitableConnect::Errors::TimeoutError
|
|
313
|
+
end
|
|
314
|
+
code = response.code.to_i
|
|
315
|
+
if code.between?(200, 299)
|
|
316
|
+
parsed_response = VitableConnect::Types::MemberQualifyingLifeEventListResponse.load(response.body)
|
|
317
|
+
[parsed_response, response]
|
|
318
|
+
else
|
|
319
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
320
|
+
raise error_class.new(response.body, code: code)
|
|
321
|
+
end
|
|
322
|
+
end
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
# Retrieves a paginated list of the members in the authenticated organization's book — identity, contact details,
|
|
326
|
+
# and address. The book covers members reached through an employer in the organization's book as well as members
|
|
327
|
+
# of a group it owns. Supports free-text search (name, email, phone number, or exact member id).
|
|
328
|
+
#
|
|
329
|
+
# @param request_options [Hash]
|
|
330
|
+
# @param params [Hash]
|
|
331
|
+
# @option request_options [String] :base_url
|
|
332
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
333
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
334
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
335
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
336
|
+
# @option params [Integer, nil] :limit
|
|
337
|
+
# @option params [Integer, nil] :page
|
|
338
|
+
# @option params [String, nil] :search
|
|
339
|
+
#
|
|
340
|
+
# @example
|
|
341
|
+
# client.members.list(
|
|
342
|
+
# limit: 20,
|
|
343
|
+
# page: 1
|
|
344
|
+
# )
|
|
345
|
+
#
|
|
346
|
+
# @return [VitableConnect::Types::MemberListResponse]
|
|
347
|
+
def list(request_options: {}, **params)
|
|
348
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
349
|
+
query_params = {}
|
|
350
|
+
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
351
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
352
|
+
query_params["search"] = params[:search] if params.key?(:search)
|
|
353
|
+
|
|
354
|
+
VitableConnect::Internal::OffsetItemIterator.new(
|
|
355
|
+
initial_page: query_params["page"],
|
|
356
|
+
item_field: :data,
|
|
357
|
+
has_next_field: nil,
|
|
358
|
+
step: false
|
|
359
|
+
) do |next_page|
|
|
360
|
+
query_params["page"] = next_page
|
|
361
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
362
|
+
base_url: request_options[:base_url],
|
|
363
|
+
method: "GET",
|
|
364
|
+
path: "v2/members",
|
|
365
|
+
query: query_params,
|
|
366
|
+
request_options: request_options
|
|
367
|
+
)
|
|
368
|
+
begin
|
|
369
|
+
response = @client.send(request)
|
|
370
|
+
rescue Net::HTTPRequestTimeout
|
|
371
|
+
raise VitableConnect::Errors::TimeoutError
|
|
372
|
+
end
|
|
373
|
+
code = response.code.to_i
|
|
374
|
+
if code.between?(200, 299)
|
|
375
|
+
parsed_response = VitableConnect::Types::MemberListResponse.load(response.body)
|
|
376
|
+
[parsed_response, response]
|
|
377
|
+
else
|
|
378
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
379
|
+
raise error_class.new(response.body, code: code)
|
|
380
|
+
end
|
|
381
|
+
end
|
|
382
|
+
end
|
|
383
|
+
end
|
|
384
|
+
end
|
|
385
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Members
|
|
5
|
+
module Types
|
|
6
|
+
class ListMembersRequest < Internal::Types::Model
|
|
7
|
+
field :limit, -> { Integer }, optional: true, nullable: false
|
|
8
|
+
|
|
9
|
+
field :page, -> { Integer }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :search, -> { String }, optional: true, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Members
|
|
5
|
+
module Types
|
|
6
|
+
class ListQualifyingLifeEventsMembersRequest < Internal::Types::Model
|
|
7
|
+
field :member_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
|
+
|
|
13
|
+
field :status, -> { VitableConnect::Types::Status }, optional: true, nullable: false
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Organizations
|
|
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
|
+
# Lists the organizations the authenticated caller is an active member of (paginated). Returns an empty list when
|
|
14
|
+
# the caller belongs to no organizations.
|
|
15
|
+
#
|
|
16
|
+
# @param request_options [Hash]
|
|
17
|
+
# @param _params [Hash]
|
|
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.organizations.list
|
|
26
|
+
#
|
|
27
|
+
# @return [VitableConnect::Types::OrganizationsListResponse]
|
|
28
|
+
def list(request_options: {}, **_params)
|
|
29
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
30
|
+
base_url: request_options[:base_url],
|
|
31
|
+
method: "GET",
|
|
32
|
+
path: "v1/organizations",
|
|
33
|
+
request_options: request_options
|
|
34
|
+
)
|
|
35
|
+
begin
|
|
36
|
+
response = @client.send(request)
|
|
37
|
+
rescue Net::HTTPRequestTimeout
|
|
38
|
+
raise VitableConnect::Errors::TimeoutError
|
|
39
|
+
end
|
|
40
|
+
code = response.code.to_i
|
|
41
|
+
if code.between?(200, 299)
|
|
42
|
+
VitableConnect::Types::OrganizationsListResponse.load(response.body)
|
|
43
|
+
else
|
|
44
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
45
|
+
raise error_class.new(response.body, code: code)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Onboards the authenticated user's partner Organization: creates the local Organization + the creator's admin
|
|
50
|
+
# membership atomically, then mirrors it to WorkOS (creates the WorkOS org and binds the creator as admin). 409
|
|
51
|
+
# `organization_already_exists` when the user already has an organization (v0: one organization per user).
|
|
52
|
+
#
|
|
53
|
+
# @param request_options [Hash]
|
|
54
|
+
# @param params [VitableConnect::Organizations::Types::CreateOrganizationRequest]
|
|
55
|
+
# @option request_options [String] :base_url
|
|
56
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
57
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
58
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
59
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
60
|
+
#
|
|
61
|
+
# @example
|
|
62
|
+
# client.organizations.create(
|
|
63
|
+
# name: "Acme Brokerage",
|
|
64
|
+
# type: "BROKERAGE"
|
|
65
|
+
# )
|
|
66
|
+
#
|
|
67
|
+
# @return [VitableConnect::Types::Organization]
|
|
68
|
+
def create(request_options: {}, **params)
|
|
69
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
70
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
71
|
+
base_url: request_options[:base_url],
|
|
72
|
+
method: "POST",
|
|
73
|
+
path: "v1/organizations",
|
|
74
|
+
body: VitableConnect::Organizations::Types::CreateOrganizationRequest.new(params).to_h,
|
|
75
|
+
request_options: request_options
|
|
76
|
+
)
|
|
77
|
+
begin
|
|
78
|
+
response = @client.send(request)
|
|
79
|
+
rescue Net::HTTPRequestTimeout
|
|
80
|
+
raise VitableConnect::Errors::TimeoutError
|
|
81
|
+
end
|
|
82
|
+
code = response.code.to_i
|
|
83
|
+
if code.between?(200, 299)
|
|
84
|
+
VitableConnect::Types::Organization.load(response.body)
|
|
85
|
+
else
|
|
86
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
87
|
+
raise error_class.new(response.body, code: code)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Organizations
|
|
5
|
+
module Types
|
|
6
|
+
class CreateOrganizationRequest < Internal::Types::Model
|
|
7
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :type, -> { VitableConnect::Types::CreateOrganizationRequestType }, optional: true, nullable: false
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Plans
|
|
5
|
+
class Client
|
|
6
|
+
# @param client [VitableConnect::Internal::Http::RawClient]
|
|
7
|
+
#
|
|
8
|
+
# @return [void]
|
|
9
|
+
def initialize(client:)
|
|
10
|
+
@client = client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Returns a paginated list of benefit plans linked to the authenticated organization.
|
|
14
|
+
#
|
|
15
|
+
# @param request_options [Hash]
|
|
16
|
+
# @param params [Hash]
|
|
17
|
+
# @option request_options [String] :base_url
|
|
18
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
19
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
21
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
22
|
+
# @option params [Integer, nil] :limit
|
|
23
|
+
# @option params [Integer, nil] :page
|
|
24
|
+
#
|
|
25
|
+
# @example
|
|
26
|
+
# client.plans.list(
|
|
27
|
+
# limit: 20,
|
|
28
|
+
# page: 1
|
|
29
|
+
# )
|
|
30
|
+
#
|
|
31
|
+
# @return [VitableConnect::Types::PlanListResponse]
|
|
32
|
+
def list(request_options: {}, **params)
|
|
33
|
+
params = VitableConnect::Internal::Types::Utils.normalize_keys(params)
|
|
34
|
+
query_params = {}
|
|
35
|
+
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
36
|
+
query_params["page"] = params[:page] if params.key?(:page)
|
|
37
|
+
|
|
38
|
+
VitableConnect::Internal::OffsetItemIterator.new(
|
|
39
|
+
initial_page: query_params["page"],
|
|
40
|
+
item_field: :data,
|
|
41
|
+
has_next_field: nil,
|
|
42
|
+
step: false
|
|
43
|
+
) do |next_page|
|
|
44
|
+
query_params["page"] = next_page
|
|
45
|
+
request = VitableConnect::Internal::JSON::Request.new(
|
|
46
|
+
base_url: request_options[:base_url],
|
|
47
|
+
method: "GET",
|
|
48
|
+
path: "v1/plans",
|
|
49
|
+
query: query_params,
|
|
50
|
+
request_options: request_options
|
|
51
|
+
)
|
|
52
|
+
begin
|
|
53
|
+
response = @client.send(request)
|
|
54
|
+
rescue Net::HTTPRequestTimeout
|
|
55
|
+
raise VitableConnect::Errors::TimeoutError
|
|
56
|
+
end
|
|
57
|
+
code = response.code.to_i
|
|
58
|
+
if code.between?(200, 299)
|
|
59
|
+
parsed_response = VitableConnect::Types::PlanListResponse.load(response.body)
|
|
60
|
+
[parsed_response, response]
|
|
61
|
+
else
|
|
62
|
+
error_class = VitableConnect::Errors::ResponseError.subclass_for_code(code)
|
|
63
|
+
raise error_class.new(response.body, code: code)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|