Skip to content
Get started

Plan Years

List plan years for benefit
benefit_products.plan_years.list(benefit_product_id, **kwargs) -> PlanYearListResponse { id, benefit_product_id, contribution_classes, 9 more }
get/v1/benefit-products/{benefit_product_id}/plan-years
Create new plan year
benefit_products.plan_years.create(benefit_product_id, **kwargs) -> PlanYear { id, benefit_product_id, contribution_classes, 9 more }
post/v1/benefit-products/{benefit_product_id}/plan-years
ModelsExpand Collapse
class PlanYear { id, benefit_product_id, contribution_classes, 9 more }

Serializer for Plan Year entity in public API responses.

A Plan Year represents a benefit period configuration including coverage dates, open enrollment windows, available plans, and contribution structures.

id: String

Unique plan year identifier with 'plyr_' prefix

benefit_product_id: String

ID of the benefit product (bprd_*)

contribution_classes: Array[{ id, employee_contribution_cents, employer_contribution_cents, 2 more}]

List of contribution classes defining eligibility tiers and cost structures

id: String

Unique contribution class identifier

employee_contribution_cents: Integer

Employee's monthly contribution amount in cents

employer_contribution_cents: Integer

Employer's monthly contribution amount in cents

employment: String

Employment type for this contribution class (e.g., 'full_time', 'part_time')

family_status: CoverageTier
  • Unspecified - Unspecified
  • EE - Ee
  • ES - Es
  • EC - Ec
  • EF - Ef
Accepts one of the following:
:Unspecified
:EE
:ES
:EC
:EF
coverage_end: Date

Date when benefit coverage ends

formatdate
coverage_start: Date

Date when benefit coverage begins

formatdate
created_at: Time

Timestamp when the plan year was created

formatdate-time
employer_id: String

ID of the employer this plan year is for (empr_*)

open_enrollment_end_date: Date

Date when open enrollment period ends

formatdate
open_enrollment_start_date: Date

Date when open enrollment period begins

formatdate
plans: Array[{ id, carrier_plan_id, monthly_premium_cents, 4 more}]

List of insurance plans available in this plan year

id: String

Unique plan identifier with 'plan_' prefix

carrier_plan_id: String

Reference to the carrier's plan definition (cplan_*)

monthly_premium_cents: Integer

Base monthly premium in cents

name: String

Display name of the insurance plan

deductible_cents: Integer

Annual deductible amount in cents

out_of_pocket_max_cents: Integer

Annual out-of-pocket maximum in cents

tier: PlanTier
  • Bronze - Bronze
  • Silver - Silver
  • Gold - Gold
  • Platinum - Platinum
Accepts one of the following:
:Bronze
:Silver
:Gold
:Platinum
  • draft - Draft
  • open_enrollment - Open Enrollment
  • active - Active
  • expired - Expired
Accepts one of the following:
:draft
:open_enrollment
:active
:expired
updated_at: Time

Timestamp when the plan year was last updated

formatdate-time
PlanYearStatus = :draft | :open_enrollment | :active | :expired
  • draft - Draft
  • open_enrollment - Open Enrollment
  • active - Active
  • expired - Expired
Accepts one of the following:
:draft
:open_enrollment
:active
:expired