> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plane.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Benefit election

A benefit election is a worker's choice to enroll in a specific
[plan](/reference/benefit-plans/object) — the coverage they hold. An election
is the durable record of "this worker is covered by this plan"; it is created
when the worker enrolls and terminated when the coverage ends. To change a
plan, terminate the existing election and create a new one rather than editing
in place.

### Attributes

<ResponseField name="id" type="string">
  Unique identifier for the election, e.g. `bele_W7oQ4rS0uZ3n`.
</ResponseField>

<ResponseField name="object" type="string">
  The object type. Always `benefit.election`.
</ResponseField>

<ResponseField name="worker" type="string">
  ID of the worker holding the coverage.
</ResponseField>

<ResponseField name="plan" type="string">
  ID of the elected [plan](/reference/benefit-plans/object).
</ResponseField>

<ResponseField name="enrollment" type="string | null">
  ID of the [enrollment](/reference/benefit-enrollments/object) run that produced
  this election, if any. Null for an election created directly.
</ResponseField>

<ResponseField name="coverage" type="string">
  The coverage tier in effect, e.g. `employee_only` or `family`. Derived from
  the covered dependents — `family` when any are covered, otherwise
  `employee_only`.
</ResponseField>

<ResponseField name="dependents" type="array">
  IDs of the [worker dependents](/reference/worker-dependents/object) this
  election covers.
</ResponseField>

<ResponseField name="status" type="string">
  Election status. One of `active`, `waived`, or `terminated`.
</ResponseField>

<ResponseField name="contribution" type="object">
  Employer and worker cost split for this election, materialized from the
  plan's contribution policy at the time of enrollment.
</ResponseField>

<ResponseField name="starts" type="string | null">
  First day the coverage is in effect.
</ResponseField>

<ResponseField name="ends" type="string | null">
  Last day the coverage is in effect. Null while active.
</ResponseField>

<ResponseField name="metadata" type="object">
  Set of key-value pairs attached to the election.
</ResponseField>

<ResponseField name="created" type="string">
  Timestamp of when the election was created.
</ResponseField>

<ResponseField name="updated" type="string">
  Timestamp of when the election was last updated.
</ResponseField>
