Skip to content

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.

ParametersExpand Collapse
member_id: str

Unique member identifier (mbr_*)

ReturnsExpand Collapse
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
One of the following:
"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

formatdate
election_status: Literal["Enrolled", "Waived", "Pending", "Expired"]
  • Enrolled - Enrolled
  • Waived - Waived
  • Pending - Pending
  • Expired - Expired
One of the following:
"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)

formatdate
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

formatdate
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
One of the following:
"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
One of the following:
"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

formatdate
coverage_start: Optional[date]

Coverage window start date (YYYY-MM-DD)

formatdate
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

formatdate
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

List member enrollments

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)
{
  "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
    }
  ]
}
Returns Examples
{
  "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
    }
  ]
}