> ## 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.

# Worker

A worker represents an employee, contractor, or vendor in your Plane workspace.

The public API returns the worker plus snapshots from the worker's current
primary employment. That means `compensation`, `classification`, `role`, and
`reporting` appear directly on the worker and again under `employment`.

By default, `name` and `email` are returned as strings. On
[Get a worker](/reference/workers/get), you can request `expand[]=name` and/or
`expand[]=email` to receive their full objects instead.

### Attributes

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

<ResponseField name="type" type="string">
  The worker type. One of `employee`, `contractor`, or `vendor`.
</ResponseField>

<ResponseField name="number" type="string | null">
  Company-assigned worker number, if one has been set.
</ResponseField>

<ResponseField name="title" type="string | null">
  Current job title from the worker's primary employment.
</ResponseField>

<ResponseField name="name" type="string | object">
  The worker's display name by default. Expand `name` on
  [Get a worker](/reference/workers/get) to receive the full name object.

  <Expandable title="expanded child attributes">
    <ResponseField name="first" type="string | null">
      First name.
    </ResponseField>

    <ResponseField name="middle" type="string | null">
      Middle name.
    </ResponseField>

    <ResponseField name="last" type="string | null">
      Last name.
    </ResponseField>

    <ResponseField name="full" type="string | null">
      Full name.
    </ResponseField>

    <ResponseField name="legal" type="string | null">
      Legal name.
    </ResponseField>

    <ResponseField name="preferred" type="string | null">
      Preferred first name.
    </ResponseField>

    <ResponseField name="pronouns" type="string | null">
      Pronouns.
    </ResponseField>

    <ResponseField name="business" type="string | null">
      Business name for vendor workers.
    </ResponseField>

    <ResponseField name="display" type="string | null">
      Display name.
    </ResponseField>

    <ResponseField name="short" type="string | null">
      Short-form display name.
    </ResponseField>

    <ResponseField name="sortable" type="string | null">
      Sortable name value.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="email" type="string | object">
  The worker's primary email address by default. Expand `email` on
  [Get a worker](/reference/workers/get) to receive the full email object.

  <Expandable title="expanded child attributes">
    <ResponseField name="personal" type="string | null">
      Personal email address.
    </ResponseField>

    <ResponseField name="work" type="string | null">
      Work email address.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="dob" type="string | null">
  Date of birth in `YYYY-MM-DD` format, if available.
</ResponseField>

<ResponseField name="compensation" type="object">
  Current compensation snapshot from the worker's primary employment.

  <Expandable title="child attributes">
    <ResponseField name="amount" type="string | null">
      Compensation amount.
    </ResponseField>

    <ResponseField name="unit" type="string">
      Time unit for the amount, such as `hour`, `day`, `month`, or `year`.
    </ResponseField>

    <ResponseField name="currency" type="string | null">
      Three-letter ISO currency code.
    </ResponseField>

    <ResponseField name="frequency" type="string">
      Payment frequency, such as `weekly`, `biweekly`, or `monthly`.
    </ResponseField>

    <ResponseField name="stock" type="string | null">
      Stock compensation details, if present.
    </ResponseField>

    <ResponseField name="other" type="string | null">
      Additional compensation details, if present.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="classification" type="object">
  Current classification snapshot from the worker's primary employment. Some
  string fields may be empty when no value has been recorded yet.

  <Expandable title="child attributes">
    <ResponseField name="type" type="string">
      Classification type, such as `salaried` or `hourly`.
    </ResponseField>

    <ResponseField name="status" type="string">
      Classification status, such as `full-time` or `part-time`.
    </ResponseField>

    <ResponseField name="term" type="string">
      Employment term, such as `at-will` or `fixed`.
    </ResponseField>

    <ResponseField name="overtime" type="boolean | null">
      Whether the worker is overtime eligible.
    </ResponseField>

    <ResponseField name="starts" type="string | null">
      Effective start date in `YYYY-MM-DD` format.
    </ResponseField>

    <ResponseField name="ends" type="string | null">
      Effective end date in `YYYY-MM-DD` format.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="role" type="object">
  Current role snapshot from the worker's primary employment.

  <Expandable title="child attributes">
    <ResponseField name="title" type="string | null">
      Job title.
    </ResponseField>

    <ResponseField name="responsibilities" type="string | null">
      Role responsibilities, if present.
    </ResponseField>

    <ResponseField name="level" type="string | null">
      Role level, if present.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="reporting" type="object">
  Current reporting snapshot from the worker's primary employment.

  <Expandable title="child attributes">
    <ResponseField name="department" type="object | null">
      Current department, if present.

      <Expandable title="child attributes">
        <ResponseField name="id" type="string">
          Department ID.
        </ResponseField>

        <ResponseField name="name" type="string">
          Department name.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="manager" type="object | null">
      Current manager, if present.

      <Expandable title="child attributes">
        <ResponseField name="name" type="string | null">
          Manager display name.
        </ResponseField>

        <ResponseField name="email" type="string | null">
          Manager email address.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="starts" type="string | null">
      Effective start date in `YYYY-MM-DD` format.
    </ResponseField>

    <ResponseField name="ends" type="string | null">
      Effective end date in `YYYY-MM-DD` format.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="employment" type="object | null">
  The worker's current primary employment snapshot.

  <Expandable title="child attributes">
    <ResponseField name="id" type="string">
      Employment ID.
    </ResponseField>

    <ResponseField name="current" type="boolean">
      Whether this employment is current.
    </ResponseField>

    <ResponseField name="status" type="string">
      Current employment status.
    </ResponseField>

    <ResponseField name="starts" type="string | null">
      Employment start date in `YYYY-MM-DD` format.
    </ResponseField>

    <ResponseField name="ends" type="string | null">
      Employment end date in `YYYY-MM-DD` format.
    </ResponseField>

    <ResponseField name="primary" type="boolean">
      Whether this is the worker's primary employment.
    </ResponseField>

    <ResponseField name="compensation" type="object">
      Current compensation snapshot for this employment. Uses the same shape as
      the top-level `compensation` field.
    </ResponseField>

    <ResponseField name="location" type="object | null">
      Current work location snapshot for this employment.

      <Expandable title="child attributes">
        <ResponseField name="address" type="object">
          Address data for the employment's work location.

          <Expandable title="child attributes">
            <ResponseField name="line1" type="string | null">
              Address line 1.
            </ResponseField>

            <ResponseField name="line2" type="string | null">
              Address line 2.
            </ResponseField>

            <ResponseField name="city" type="string | null">
              City.
            </ResponseField>

            <ResponseField name="state" type="string | null">
              State, province, or region.
            </ResponseField>

            <ResponseField name="postal_code" type="string | null">
              Postal code.
            </ResponseField>

            <ResponseField name="country" type="string | null">
              Two-letter ISO country code.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="classification" type="object">
      Current classification snapshot for this employment. Uses the same shape
      as the top-level `classification` field.
    </ResponseField>

    <ResponseField name="role" type="object">
      Current role snapshot for this employment. Uses the same shape as the
      top-level `role` field.
    </ResponseField>

    <ResponseField name="reporting" type="object">
      Current reporting snapshot for this employment. Uses the same shape as
      the top-level `reporting` field.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="accounts" type="string[]">
  Array of current bank account IDs associated with the worker.
</ResponseField>
