Skip to content

List a benefit plan year's enrollments

employers.list_benefit_plan_year_enrollments(strbenefit_plan_year_id, EmployerListBenefitPlanYearEnrollmentsParams**kwargs) -> SyncPageNumberPage[EmployerListBenefitPlanYearEnrollmentsResponse]
GET/v1/employers/{employer_id}/benefit-plan-years/{benefit_plan_year_id}/enrollments

Returns a paginated list of every member with an enrollment in one of an employer’s plan years, any election status: what they elected, where their coverage stands, dependent count, carrier, plan, tier, and the plan’s total monthly cost. The caller must be authorized for the employer empr_<...>; an unknown or unauthorized employer, or an unknown plan year plyr_<...>, returns 404.

ParametersExpand Collapse
employer_id: str

Unique employer identifier (empr_*)

benefit_plan_year_id: str

Unique benefit-plan-year identifier (plyr_*).

election_status: Optional[List[Literal["Enrolled", "Expired", "Pending", "Waived"]]]

Filter by election status. Repeat the parameter to match several.

One of the following:
"Enrolled"
"Expired"
"Pending"
"Waived"
limit: Optional[int]

Items per page (default: 20, max: 100)

minimum1
maximum100
page: Optional[int]

Page number (default: 1)

minimum1
ReturnsExpand Collapse
class EmployerListBenefitPlanYearEnrollmentsResponse:
carrier: Optional[str]

The carrier for this enrollment: the individual-market carrier for an ICHRA plan, otherwise the benefit’s own. Null when the benefit has no carrier.

dependent_count: int

Dependents covered under this enrollment today. Counts the same dependents premium_in_cents is priced for, so a dependent whose termination is dated in the future still counts.

minimum0
election_status: Literal["Enrolled", "Waived", "Pending", "Expired"]
  • Enrolled - Enrolled
  • Waived - Waived
  • Pending - Pending
  • Expired - Expired
One of the following:
"Enrolled"
"Waived"
"Pending"
"Expired"
employee_deduction_in_cents: Optional[int]

What the employee is deducted monthly, in cents: premium_in_cents less employer_contribution_in_cents, floored at zero. Null when unanswered/waived.

employee_external_reference_id: Optional[str]

Your own reference id for this employee, as you supplied it. Null when you have not set one.

employee_id: str

Our id for this person’s employment with this employer (empl_<...>). A person who leaves and is rehired has two.

employer_contribution_in_cents: Optional[int]

The employer’s monthly share of premium_in_cents, in cents. Null when unanswered/waived.

member_first_name: str

The member’s first name.

member_id: str

Our id for the person (mbr_<...>). Stable across every employer they work for.

member_last_name: str

The member’s last name.

plan: Optional[str]

Chosen plan name, or null when unanswered/waived.

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"
premium_in_cents: Optional[int]

Monthly premium in cents for the chosen plan, dependents included. The plan’s own cost, not the employer’s share of it. Null when unanswered/waived.

tier: Optional[str]

Chosen coverage tier, or null when unanswered/waived.

List a benefit plan year's 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
)
page = client.employers.list_benefit_plan_year_enrollments(
    benefit_plan_year_id="plyr_abc123def456",
    employer_id="empr_abc123def456",
)
page = page.data[0]
print(page.employee_external_reference_id)
{
  "data": [
    {
      "member_id": "mbr_SGVsbG8gV29ybGQh",
      "employee_id": "empl_V2VsY29tZSB0byBBY21l",
      "employee_external_reference_id": "EXT-10023",
      "member_first_name": "Ada",
      "member_last_name": "Lovelace",
      "election_status": "Enrolled",
      "policy_status": "Coverage Effective",
      "dependent_count": 1,
      "carrier": "Vitable",
      "plan": "Vitable Dental PPO",
      "tier": "Employee Plus Spouse",
      "premium_in_cents": 12000,
      "employer_contribution_in_cents": 9000,
      "employee_deduction_in_cents": 3000
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 66,
    "total_pages": 4
  }
}
Returns Examples
{
  "data": [
    {
      "member_id": "mbr_SGVsbG8gV29ybGQh",
      "employee_id": "empl_V2VsY29tZSB0byBBY21l",
      "employee_external_reference_id": "EXT-10023",
      "member_first_name": "Ada",
      "member_last_name": "Lovelace",
      "election_status": "Enrolled",
      "policy_status": "Coverage Effective",
      "dependent_count": 1,
      "carrier": "Vitable",
      "plan": "Vitable Dental PPO",
      "tier": "Employee Plus Spouse",
      "premium_in_cents": 12000,
      "employer_contribution_in_cents": 9000,
      "employee_deduction_in_cents": 3000
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 66,
    "total_pages": 4
  }
}