---
updatedAt: 2026-06-18T18:55:55.000Z
agentTools:
  projectIndex: https://docs.checkhq.com/llms.txt
---

# The contractor object

Represents an individual or a business that receives non-employee compensation from a company.

When including contractors in payroll, Check will automatically file all associated 1099 forms.

```json Sample contractor object
{
    "id": "ctr_CyQIKSp6YvU6mBe2a6iq",
    "type": "individual",
    "company": "com_EkIJ9RewumnQLODHv1vl",
    "workplaces": [
        "wrk_ZquJLY48hvpLDSTT6JBn"
    ],
    "primary_workplace": "wrk_ZquJLY48hvpLDSTT6JBn",
    "first_name": "Bruce",
    "middle_name": "Frederick Joseph",
    "last_name": "Springsteen",
    "business_name": null,
    "dob": "1970-05-29",
    "start_date": "2019-03-01",
    "termination_date": null,
    "email": "theboss@springsteen.com",
    "bank_accounts": ["bnk_rLXONRICxgyyeUaS16"],
    "ssn_last_four": "0000",
    "ssn_validation_status": "validated",
    "ein": null,
    "default_net_pay_split": "nps_lk218jk9082mjkjljT1c",
    "payment_method_preference": null,
    "onboard": {
        "status": "needs_attention",
        "blocking_steps": [],
        "remaining_steps": [
            "payment_method"
        ],
        "payment_method": [
            "payment_method_preference_set",
            "bank_account_exists",
            "bank_account_verified",
        ],
    },
    "address": {
        "line1": "913 Ocean Ave",
        "line2": null,
        "city": "Asbury Park",
        "state": "NJ",
        "postal_code": "07712",
        "country": "US"
    },
    "1099_nec_electronic_consent_provided": false,
  	"metadata": {}
}
```

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

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `id`  
        _string_
      </td>

      <td>
        Unique identifier for the contractor.
      </td>
    </tr>

    <tr>
      <td>
        `type`  
        _string_
      </td>

      <td>
        `individual` if the contractor is a person. `business` if not a person.
      </td>
    </tr>

    <tr>
      <td>
        `company`  
        _string_
      </td>

      <td>
        ID of the company the contractor performs work for.
      </td>
    </tr>

    <tr>
      <td>
        `workplaces`  
        _array of strings_
      </td>

      <td>
        IDs of workplaces where the contractor works.
      </td>
    </tr>

    <tr>
      <td>
        `primary_workplace`  
        _string_
      </td>

      <td>
        ID of the contractor's primary workplace.
      </td>
    </tr>

    <tr>
      <td>
        `first_name`  
        _string_
      </td>

      <td>
        Contractor's first name. If contractor `type` is `business`, a primary contact is needed for 1099 filing so use the first name of the business's primary contact.
      </td>
    </tr>

    <tr>
      <td>
        `middle_name`  
        _string_
      </td>

      <td>
        Contractor's middle name. If contractor `type` is `business`, a primary contact is needed for 1099 filing so use the middle name of the business's primary contact, if it exists.
      </td>
    </tr>

    <tr>
      <td>
        `last_name`  
        _string_
      </td>

      <td>
        Contractor's last name. If contractor `type` is `business`, a primary contact is needed for 1099 filing so use the last name of the business's primary contact.
      </td>
    </tr>

    <tr>
      <td>
        `business_name`  
        _string_
      </td>

      <td>
        Contractor's business name if they are a business entity.
      </td>
    </tr>

    <tr>
      <td>
        `dob`  
        _YYYY-MM-DD_
      </td>

      <td>
        Contractor's date of birth.
      </td>
    </tr>

    <tr>
      <td>
        `start_date`  
        _YYYY-MM-DD_
      </td>

      <td>
        Most recent start date of contract.
      </td>
    </tr>

    <tr>
      <td>
        `termination_date`  
        _YYYY-MM-DD_
      </td>

      <td>
        Most recent termination date of contract. Will be set to null if a more recent start date is set.
      </td>
    </tr>

    <tr>
      <td>
        `email`  
        _string_
      </td>

      <td>
        Contractor's email address.
      </td>
    </tr>

    <tr>
      <td>
        `bank_accounts`  
        _array of strings_
      </td>

      <td>
        Read only. An array of bank account IDs.
      </td>
    </tr>

    <tr>
      <td>
        `ssn_last_four`  
        _string_
      </td>

      <td>
        The last four digits of the contractor’s SSN.
      </td>
    </tr>

    <tr>
      <td>
        `ssn_validation_status`  
        _string_
      </td>

      <td>
        The validation status of the contractor'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>
        `ein`  
        _string_
      </td>

      <td>
        Contractor's Employer Identification Number.
      </td>
    </tr>

    <tr>
      <td>
        `default_net_pay_split`  
        _string_
      </td>

      <td>
        ID of the net pay split currently active on the contractor.
      </td>
    </tr>

    <tr>
      <td>
        `onboard`  
        _object_
      </td>

      <td>
        Structured information about the [onboard status](https://docs.checkhq.com/docs/onboard-status) of the contractor.
      </td>
    </tr>

    <tr>
      <td>
        `address`  
        _object_
      </td>

      <td>
        Legal address of contractor on file with the federal government. If the contractor has a `type` of `business`, then you should use the address of the business.
      </td>
    </tr>

    <tr>
      <td>
        `payment_method_preference`  
        _string_
      </td>

      <td>
        Either `manual` or `direct_deposit` if the contractor has a linked bank account.
      </td>
    </tr>

    <tr>
      <td>
        `1099_nec_electronic_consent_provided`  
        _boolean_
      </td>

      <td>
        Indicates whether the contractor has opted into electronic delivery of Copy B of 1099-NEC.
      </td>
    </tr>

    <tr>
      <td>
        `metadata`  
        _object_
      </td>

      <td>
        Additional loosely structured information to associate with the contractor.
      </td>
    </tr>
  </tbody>
</Table>