---
updatedAt: 2026-09-17T23:32:33.000Z
agentTools:
  projectIndex: https://docs.checkhq.com/llms.txt
---

# The employee object

Represents a person who receives compensation for a job performed at a company.

```json Sample employee object
{
    "id": "emp_zGGp6wYcxAeu1Ng8IA7v",
    "first_name": "Tony",
    "last_name": "Stark",
    "middle_name": null,
    "email": "tony@starkindustries.com",
    "dob": "1970-05-29",
    "bank_accounts": [],
    "ssn_last_four": null,
    "ssn_validation_status": null,
    "payment_method_preference": null,
    "active": true,
    "onboard": {
        "status": "needs_attention",
        "blocking_steps": [],
        "remaining_steps": [
            "ssn",
            "payment_method",
            "withholdings",
        ],
        "ssn": [
            "ssn_submitted",
            "ssn_validated",
        ],
        "payment_method": [
            "payment_method_preference_set",
            "bank_account_exists",
            "bank_account_verified",
        ],
        "withholdings": [
            {
                "id": "jur_kSO0VneVfdx5TDDQ9Xnp",
                "name": "Federal",
              	"status": "needs_attention",
            },
            {
                "id": "jur_CUlTApePRnDFn9bPVCQE",
                "name": "New York", 
              	"status": "needs_attention",
            },  
        ]
    },
    "workplaces": [
        "wrk_i8nfu8234r8dkjhzlsdv"
    ],
    "primary_workplace": "wrk_i8nfu8234r8dkjhzlsdv",
    "company": "com_sx3svU6K8c5ZkSFlOh5p",
    "start_date": "2019-03-01",
    "termination_date": null, 
    "default_net_pay_split": "nps_lk218jk9082mjkjljT1c",
    "residence": {
        "line1": "630 Bedford Road",
        "line2": null,
        "city": "Tarrytown",
        "state": "NY",
        "postal_code": "10591",
        "country": "US"
    },
    "w2_electronic_consent_provided": false,
    "metadata": {}
}
```

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th style={{ textAlign: "left" }}>
        Attribute
      </th>

      <th style={{ textAlign: "left" }}>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td style={{ textAlign: "left" }}>
        `id`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        Unique identifier for the employee.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `first_name`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        Employee's first name.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `middle_name`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        Employee's middle name.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `last_name`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        Employee's last name.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `email`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        Employee's email address.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `dob`  
        _YYYY-MM-DD_
      </td>

      <td style={{ textAlign: "left" }}>
        Employee’s date of birth.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `bank_accounts`  
        _array of strings_
      </td>

      <td style={{ textAlign: "left" }}>
        Read only. An array of bank account IDs for the employee.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `ssn_last_four`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        The last four digits of the employee’s SSN or TIN.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `ssn_validation_status`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        The validation status of the employee's SSN. Either `pending` indicating validation in progress, `validated` indicating the SSN passes our validation criteria, or `invalid` indicating the SSN is not valid. For more details see [SSN Validation](https://docs.checkhq.com/docs/ssn-validation)  .
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `payment_method_preference`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        Either `manual` or `direct_deposit` if the employee has a linked bank account.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `active`  
        _boolean_
      </td>

      <td style={{ textAlign: "left" }}>
        Indicates whether the employee is currently employed. Used only for filtering: `active` decides whether an employee is returned by the `active` filter on [List employees](https://docs.checkhq.com/reference/list-employees) and whether they appear in Console lists, not whether they can be paid. `active` and `termination_date` are set independently, so setting `termination_date` does not require setting `active` to `false`. To pay an employee after their last day, see [Off-cycle Payrolls](https://docs.checkhq.com/docs/off-cycle-payroll).
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `onboard`  
        _object_
      </td>

      <td style={{ textAlign: "left" }}>
        Structured information about the [onboard status](https://docs.checkhq.com/docs/onboard-status) of the employee.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `workplaces`  
        _array of strings_
      </td>

      <td style={{ textAlign: "left" }}>
        IDs of workplaces where the employee works.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `primary_workplace`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        ID of the employee's primary workplace.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `company`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        ID of employee's company.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `start_date`  
        _YYYY-MM-DD_
      </td>

      <td style={{ textAlign: "left" }}>
        Most recent start date of employment.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `termination_date`  
        _YYYY-MM-DD_
      </td>

      <td style={{ textAlign: "left" }}>
        Most recent date of employment termination. Will be set to null if a more recent start date is set. 
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `default_net_pay_split`  
        _string_
      </td>

      <td style={{ textAlign: "left" }}>
        ID of the net pay split currently active on the  employee
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `residence`  
        _object_
      </td>

      <td style={{ textAlign: "left" }}>
        Employee’s residence.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `w2_electronic_consent_provided`  
        _boolean_
      </td>

      <td style={{ textAlign: "left" }}>
        Indicates whether the employee has opted into electronic delivery of W2 PDF.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        `metadata`  
        _object_
      </td>

      <td style={{ textAlign: "left" }}>
        Additional loosely structured information to associate with the employee.
      </td>
    </tr>
  </tbody>
</Table>