Skip to content

Get one of an employer's benefit plan years

employers.retrieve_benefit_plan_year(benefit_plan_year_id, **kwargs) -> EmployerRetrieveBenefitPlanYearResponse { data }
GET/v1/employers/{employer_id}/benefit-plan-years/{benefit_plan_year_id}

Returns one benefit plan year in full — its benefit details plus the per-benefit enrollment rate and SPD link — addressed by its benefit_plan_year_id. The caller must be authorized for the employer; an unknown or unauthorized plan year returns 404.

ParametersExpand Collapse
employer_id: String

Unique employer identifier (empr_*)

benefit_plan_year_id: String

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

ReturnsExpand Collapse
class EmployerRetrieveBenefitPlanYearResponse { data }

Response containing a single employer benefit plan year resource.

data: { benefit_id, benefit_plan_year_id, carrier, 17 more}

One plan year, detail view.

Standalone (no shared base) so the exact detail payload is readable in one place; the list serializer is a separate class even where fields overlap. Detail carries the SPD link and omits the list-only is_current flag.

benefit_id: String

Prefixed benefit identifier (bprd_*).

benefit_plan_year_id: String

Prefixed plan-year identifier (plyr_*).

carrier: String

Carrier name, or null (e.g. ICHRA).

contribution_strategy: { contribution_tiers, ichra_contribution_classes}

How the plan year prices contributions: exactly one collection is populated, determined by the plan year’s family (ICHRA vs tier-priced).

contribution_tiers: Array[{ benefit_plan_id, benefit_plan_name, benefit_plan_tier_name, 5 more}]

Coverage tiers and their costs; empty for ICHRA benefits.

benefit_plan_id: String

Prefixed benefit-plan identifier (bpln_*).

benefit_plan_name: String

Benefit plan name.

benefit_plan_tier_name: String

Coverage-tier name.

cost: Integer

Monthly employee deduction in cents.

cost_per_dependent: Integer

Monthly employee deduction per dependent, in cents.

coverage_tier: :Unspecified | :EE | :ES | 2 more
  • Unspecified - Unspecified
  • EE - EE
  • ES - ES
  • EC - EC
  • EF - EF
One of the following:
:Unspecified
:EE
:ES
:EC
:EF
dependents_required_in: bool

Whether dependents are required for this tier.

spouse_required_in: bool

Whether a spouse is required for this tier.

ichra_contribution_classes: Array[{ amount_in_cents, compensation, contribution_class_id, 6 more}]

ICHRA contribution classes; empty for tier-priced benefits.

amount_in_cents: Integer

Monthly allowance in cents.

compensation: :Unspecified | :Salary | :Hourly
  • Unspecified - Unspecified
  • Salary - Salary
  • Hourly - Hourly
One of the following:
:Unspecified
:Salary
:Hourly
contribution_class_id: String

Prefixed contribution-class identifier (iccl_*).

employment: :Unspecified | :"Full Time" | :"Part Time" | 2 more
  • Unspecified - Unspecified
  • Full Time - Full Time
  • Part Time - Part Time
  • Temporary - Temporary
  • Seasonal - Seasonal
One of the following:
:Unspecified
:"Full Time"
:"Part Time"
:Temporary
:Seasonal
family_status: :Unspecified | :EE | :ES | 2 more
  • Unspecified - Unspecified
  • EE - EE
  • ES - ES
  • EC - EC
  • EF - EF
One of the following:
:Unspecified
:EE
:ES
:EC
:EF
location: :Unspecified | :State
  • Unspecified - Unspecified
  • State - State
One of the following:
:Unspecified
:State
location_value: String

Location matcher value (CSV of state codes), or null.

max_age: Integer

Age-band upper bound, or null.

min_age: Integer

Age-band lower bound, or null.

coverage_end: Date

Coverage end.

formatdate
coverage_start: Date

Coverage start.

formatdate
eligibility_policy: { rules, termination_n_months, termination_rule, waiting_period}

The plan year’s active eligibility policy. Mirrors the internal PlanYearEligibilityPolicyDTO but exposes only the public subset (no raw ids, active_in, or timestamps).

rules: Array[{ compensation_type, eligible_geographical_location, employee_class}]

Eligibility rules; never empty for a valid policy.

compensation_type: :Salary | :Hourly | :All
  • Salary - Salary
  • Hourly - Hourly
  • All - All
One of the following:
:Salary
:Hourly
:All
eligible_geographical_location: { state_codes, type}

Geographic matcher.

state_codes: Array[String]

States the rule is restricted to; empty when type is All.

type: :All | :StateCodes
  • All - All
  • StateCodes - State Codes
One of the following:
:All
:StateCodes
employee_class: :"Full Time" | :"Part Time" | :Temporary | 4 more
  • Full Time - Full Time
  • Part Time - Part Time
  • Temporary - Temporary
  • Intern - Intern
  • Seasonal - Seasonal
  • Individual Contractor - Individual Contractor
  • All - All
One of the following:
:"Full Time"
:"Part Time"
:Temporary
:Intern
:Seasonal
:"Individual Contractor"
:All
termination_n_months: Integer

Months of continued coverage; set only when termination_rule is END_OF_N_MONTHS.

termination_rule: :END_OF_N_MONTHS | :END_OF_PLAN_YEAR
  • END_OF_N_MONTHS - End Of N Months
  • END_OF_PLAN_YEAR - End Of Plan Year
One of the following:
:END_OF_N_MONTHS
:END_OF_PLAN_YEAR
waiting_period: :FIRST_OF_FOLLOWING_MONTH | :THIRTY_DAYS | :SIXTY_DAYS
  • FIRST_OF_FOLLOWING_MONTH - First Of Following Month
  • THIRTY_DAYS - Thirty Days
  • SIXTY_DAYS - Sixty Days
One of the following:
:FIRST_OF_FOLLOWING_MONTH
:THIRTY_DAYS
:SIXTY_DAYS
employee_contribution: { max_cents, min_cents}

Employee contribution range.

max_cents: Integer

Highest per-tier contribution in cents.

min_cents: Integer

Lowest per-tier contribution in cents.

employer_contribution: { max_cents, min_cents}

Employer contribution range.

max_cents: Integer

Highest per-tier contribution in cents.

min_cents: Integer

Lowest per-tier contribution in cents.

enrollment_rate: { eligible, enrolled, percentage}

Enrolled/eligible rate for this plan year.

eligible: Integer

Employees eligible for this plan year.

enrolled: Integer

Employees enrolled in this plan year.

percentage: Integer

enrolled / eligible whole-number percent (0 when none).

family: :mec | :mvp | :ichra | 3 more
  • mec - Mec
  • mvp - Mvp
  • ichra - Ichra
  • vpc - Vpc
  • dental - Dental
  • vision - Vision
One of the following:
:mec
:mvp
:ichra
:vpc
:dental
:vision
network_names: Array[String]

Displayed networks: [“multi”] for ICHRA, otherwise the plan year’s distinct network names.

offered_states: Array[String]

Distinct offered state codes.

open_enrollment_end: Date

Open-enrollment end.

formatdate
open_enrollment_start: Date

Open-enrollment start.

formatdate
premium_in_cents: Integer

Monthly premium in cents; only for an ICHRA benefit with effective coverage.

product_name: String

Benefit/product display name.

spd_file_url: String

Summary Plan Description (SPD) link, or null.

status: :active | :upcoming | :open_enrollment | :inactive
  • active - Active
  • upcoming - Upcoming
  • open_enrollment - Open Enrollment
  • inactive - Inactive
One of the following:
:active
:upcoming
:open_enrollment
:inactive
year: Integer

Calendar coverage year.

Get one of an employer's benefit plan years

require "vitable_connect"

vitable_connect = VitableConnect::Client.new(
  api_key: "My API Key",
  environment: "environment_1" # defaults to "production"
)

response = vitable_connect.employers.retrieve_benefit_plan_year(
  "plyr_abc123def456",
  employer_id: "empr_abc123def456"
)

puts(response)
{
  "data": {
    "benefit_id": "benefit_id",
    "benefit_plan_year_id": "benefit_plan_year_id",
    "carrier": "carrier",
    "contribution_strategy": {
      "contribution_tiers": [
        {
          "benefit_plan_id": "benefit_plan_id",
          "benefit_plan_name": "benefit_plan_name",
          "benefit_plan_tier_name": "benefit_plan_tier_name",
          "cost": 0,
          "cost_per_dependent": 0,
          "coverage_tier": "Unspecified",
          "dependents_required_in": true,
          "spouse_required_in": true
        }
      ],
      "ichra_contribution_classes": [
        {
          "amount_in_cents": 0,
          "compensation": "Unspecified",
          "contribution_class_id": "contribution_class_id",
          "employment": "Unspecified",
          "family_status": "Unspecified",
          "location": "Unspecified",
          "location_value": "location_value",
          "max_age": 0,
          "min_age": 0
        }
      ]
    },
    "coverage_end": "2019-12-27",
    "coverage_start": "2019-12-27",
    "eligibility_policy": {
      "rules": [
        {
          "compensation_type": "Salary",
          "eligible_geographical_location": {
            "state_codes": [
              "string"
            ],
            "type": "All"
          },
          "employee_class": "Full Time"
        }
      ],
      "termination_n_months": 0,
      "termination_rule": "END_OF_N_MONTHS",
      "waiting_period": "FIRST_OF_FOLLOWING_MONTH"
    },
    "employee_contribution": {
      "max_cents": 0,
      "min_cents": 0
    },
    "employer_contribution": {
      "max_cents": 0,
      "min_cents": 0
    },
    "enrollment_rate": {
      "eligible": 0,
      "enrolled": 0,
      "percentage": 0
    },
    "family": "mec",
    "network_names": [
      "string"
    ],
    "offered_states": [
      "string"
    ],
    "open_enrollment_end": "2019-12-27",
    "open_enrollment_start": "2019-12-27",
    "premium_in_cents": 0,
    "product_name": "product_name",
    "spd_file_url": "spd_file_url",
    "status": "active",
    "year": 0
  }
}
Returns Examples
{
  "data": {
    "benefit_id": "benefit_id",
    "benefit_plan_year_id": "benefit_plan_year_id",
    "carrier": "carrier",
    "contribution_strategy": {
      "contribution_tiers": [
        {
          "benefit_plan_id": "benefit_plan_id",
          "benefit_plan_name": "benefit_plan_name",
          "benefit_plan_tier_name": "benefit_plan_tier_name",
          "cost": 0,
          "cost_per_dependent": 0,
          "coverage_tier": "Unspecified",
          "dependents_required_in": true,
          "spouse_required_in": true
        }
      ],
      "ichra_contribution_classes": [
        {
          "amount_in_cents": 0,
          "compensation": "Unspecified",
          "contribution_class_id": "contribution_class_id",
          "employment": "Unspecified",
          "family_status": "Unspecified",
          "location": "Unspecified",
          "location_value": "location_value",
          "max_age": 0,
          "min_age": 0
        }
      ]
    },
    "coverage_end": "2019-12-27",
    "coverage_start": "2019-12-27",
    "eligibility_policy": {
      "rules": [
        {
          "compensation_type": "Salary",
          "eligible_geographical_location": {
            "state_codes": [
              "string"
            ],
            "type": "All"
          },
          "employee_class": "Full Time"
        }
      ],
      "termination_n_months": 0,
      "termination_rule": "END_OF_N_MONTHS",
      "waiting_period": "FIRST_OF_FOLLOWING_MONTH"
    },
    "employee_contribution": {
      "max_cents": 0,
      "min_cents": 0
    },
    "employer_contribution": {
      "max_cents": 0,
      "min_cents": 0
    },
    "enrollment_rate": {
      "eligible": 0,
      "enrolled": 0,
      "percentage": 0
    },
    "family": "mec",
    "network_names": [
      "string"
    ],
    "offered_states": [
      "string"
    ],
    "open_enrollment_end": "2019-12-27",
    "open_enrollment_start": "2019-12-27",
    "premium_in_cents": 0,
    "product_name": "product_name",
    "spd_file_url": "spd_file_url",
    "status": "active",
    "year": 0
  }
}