## List member enrollments `members.list_enrollments(strmember_id) -> MemberListEnrollmentsResponse` **get** `/v1/members/{member_id}/enrollments` Lists a member's benefit enrollments across every employer — benefit type and product, employer, carrier, plan, tier, employee deduction, employer contribution and total premium, the individual enrollment coverage boundary (`coverage_end`), the separate pre-effective cancellation boundary (`cancelled_date`), and the distinct benefit plan-year boundary (`plan_year_coverage_end`) used to determine whether the plan year itself has ended, whether a qualifying life event would currently be required for reissue under the product/open-enrollment rule, enrollment/open-enrollment window, and two statuses: `election_status` (what the member answered) and `policy_status` (what became of their coverage, null unless they enrolled). Every row includes a stable enrollment ID and the exact employer and benefit plan-year IDs used to fetch that row's plan-year detail. The full list is returned across all states so the client derives active plans (effective and upcoming) and the enrollment history from those per-row statuses. For an organization caller the rows are scoped to companies in that organization's book; a member (self/household) or Vitable Admin sees all enrollments. A member not visible to the caller returns a 404. ### Parameters - `member_id: str` Unique member identifier (mbr_*) ### Returns - `class MemberListEnrollmentsResponse: …` Unpaginated `{"data": [...]}` list of member enrollments. - `data: List[Data]` - `id: str` Opaque, stable enrollment identifier used to target enrollment actions - `benefit_plan_year_id: str` Exact benefit plan-year identifier for this enrollment - `benefit_type: Literal["Medical", "Dental", "Vision", "Hospital"]` * `Medical` - Medical * `Dental` - Dental * `Vision` - Vision * `Hospital` - Hospital - `"Medical"` - `"Dental"` - `"Vision"` - `"Hospital"` - `cancelled_date: Optional[date]` Earliest applicable coverage boundary (YYYY-MM-DD) when coverage was cancelled before its effective start; null unless the enrollment was cancelled - `election_status: Literal["Enrolled", "Waived", "Pending", "Expired"]` * `Enrolled` - Enrolled * `Waived` - Waived * `Pending` - Pending * `Expired` - Expired - `"Enrolled"` - `"Waived"` - `"Pending"` - `"Expired"` - `employer_id: str` Exact employer identifier for this enrollment - `employer_name: str` Name of the employer the enrollment is through - `enrollment_window_start: date` Enrollment / open-enrollment window start date (YYYY-MM-DD) - `in_last_month_of_coverage: bool` True when today falls in the final month of the plan-year coverage window; drives end-of-coverage enrollment actions on the client. - `is_within_enrollment_window: bool` True when today falls inside the enrollment window this member has to answer in; drives enrollment-action availability on the client. - `plan_year_coverage_end: Optional[date]` Benefit plan-year coverage end date (YYYY-MM-DD), distinct from this enrollment's coverage_end; null when the plan year is open-ended - `policy_status: Optional[Literal["Coverage Upcoming", "Coverage Effective", "Coverage Ended", "Cancelled"]]` * `Coverage Upcoming` - Coverage Upcoming * `Coverage Effective` - Coverage Effective * `Coverage Ended` - Coverage Ended * `Cancelled` - Cancelled - `"Coverage Upcoming"` - `"Coverage Effective"` - `"Coverage Ended"` - `"Cancelled"` - `product_code: Literal["EBA", "VPC", "VPC_CORE", 12 more]` * `EBA` - Eba Mec * `VPC` - Vpc Enhanced * `VPC_CORE` - Vpc Core * `MEC` - Vpc Mec * `MEC2` - Mec2 * `MEC_PLUS` - Mec Plus * `MVP` - Mvp * `MVP2` - Mvp2 * `MVPSL` - Mvpsl * `MVPSL2` - Mvpsl2 * `VD` - Dental * `VV` - Vision * `ICHRA` - Ichra * `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus * `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only - `"EBA"` - `"VPC"` - `"VPC_CORE"` - `"MEC"` - `"MEC2"` - `"MEC_PLUS"` - `"MVP"` - `"MVP2"` - `"MVPSL"` - `"MVPSL2"` - `"VD"` - `"VV"` - `"ICHRA"` - `"ICHRA_PREMIUM_PLUS"` - `"ICHRA_REIMBURSEMENT_ONLY"` - `product_name: str` Display name of the benefit product - `requires_qle_for_reissue: bool` Whether a qualifying life event would be required to reissue this enrollment under the product and open-enrollment rule at the time this list was read - `carrier_name: Optional[str]` Insurance carrier name; null when no active carrier period is resolvable - `coverage_end: Optional[date]` Coverage window end date (YYYY-MM-DD); null while coverage is open-ended - `coverage_start: Optional[date]` Coverage window start date (YYYY-MM-DD) - `employee_deduction_in_cents: Optional[int]` Employee monthly payroll deduction in cents; null unless the row is an election - `employer_contribution_in_cents: Optional[int]` Employer monthly contribution in cents; null unless the row is an election - `enrollment_window_end: Optional[date]` Enrollment / open-enrollment window end date (YYYY-MM-DD); null when open-ended - `plan_name: Optional[str]` Chosen benefit plan name; null unless the row is an election - `premium_in_cents: Optional[int]` Total monthly plan premium in cents; null unless the row is an election - `tier_name: Optional[str]` Chosen benefit plan tier name (e.g., Employee Only); null unless the row is an election ### Example ```python import os from vitable_connect import VitableConnect client = VitableConnect( api_key=os.environ.get("VITABLE_CONNECT_API_KEY"), # This is the default and can be omitted ) response = client.members.list_enrollments( "mbr_abc123def456", ) print(response.data) ``` #### Response ```json { "data": [ { "id": "enrl_AAAAAAAAAAAAAAAAAAAAAQ", "employer_id": "empr_AAAAAAAAAAAAAAAAAAAAAQ", "benefit_plan_year_id": "plyr_AAAAAAAAAAAAAAAAAAAAAQ", "benefit_type": "Medical", "product_code": "MEC_PLUS", "requires_qle_for_reissue": false, "product_name": "MEC Plus", "employer_name": "Acme Corp", "carrier_name": "Vitable", "plan_name": "MEC Plus Standard", "tier_name": "Employee Only", "employee_deduction_in_cents": 5000, "employer_contribution_in_cents": 25000, "premium_in_cents": 30000, "coverage_start": "2026-04-01", "coverage_end": "2026-08-31", "cancelled_date": null, "plan_year_coverage_end": "2026-12-31", "enrollment_window_start": "2026-03-01", "enrollment_window_end": "2026-03-31", "election_status": "Enrolled", "policy_status": "Coverage Effective", "in_last_month_of_coverage": true, "is_within_enrollment_window": false }, { "id": "enrl_AAAAAAAAAAAAAAAAAAAAAg", "employer_id": "empr_AAAAAAAAAAAAAAAAAAAAAg", "benefit_plan_year_id": "plyr_AAAAAAAAAAAAAAAAAAAAAg", "benefit_type": "Dental", "product_code": "VD", "requires_qle_for_reissue": true, "product_name": "Vitable Dental", "employer_name": "Acme Corp", "carrier_name": "Vitable", "plan_name": null, "tier_name": null, "employee_deduction_in_cents": null, "employer_contribution_in_cents": null, "premium_in_cents": null, "coverage_start": null, "coverage_end": null, "cancelled_date": null, "plan_year_coverage_end": "2026-12-31", "enrollment_window_start": "2026-03-01", "enrollment_window_end": "2026-03-31", "election_status": "Waived", "policy_status": null, "in_last_month_of_coverage": false, "is_within_enrollment_window": false }, { "id": "enrl_AAAAAAAAAAAAAAAAAAAAAw", "benefit_type": "Dental", "product_code": "VD", "requires_qle_for_reissue": true, "product_name": "Vitable Dental", "employer_name": "Acme Corp", "carrier_name": "Vitable", "plan_name": "Vitable Dental Standard", "tier_name": "Employee Only", "employee_deduction_in_cents": 1200, "employer_contribution_in_cents": 800, "premium_in_cents": 2000, "coverage_start": null, "coverage_end": null, "cancelled_date": "2026-03-15", "plan_year_coverage_end": "2026-12-31", "enrollment_window_start": "2026-03-01", "enrollment_window_end": "2026-03-31", "election_status": "Enrolled", "policy_status": "Cancelled", "in_last_month_of_coverage": false, "is_within_enrollment_window": false } ] } ```