---
title: "Create a contractor"
method: POST
path: "/contractors"
---

# Create a contractor

`POST /contractors`

## Request

- Base URL: `https://sandbox.checkhq.com`
- URL: `https://sandbox.checkhq.com/contractors`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/checkhq/apis/check-api/docs/contractors/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a contractor.

## Request body

- object
  - `company` string, required: ID of the company the contractor performs work for
  - `type` string: If the contractor is a person set to "individual", otherwise set to "business".
  - `first_name` string: 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.
  - `middle_name` string: 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.
  - `last_name` string, required: 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.
  - `business_name` string: Contractor's business name if they're not an individual.
  - `dob` string, date: Contractor's date of birth
  - `start_date` string, date: Most recent start date of contract
  - `termination_date` string, date: Most recent termination date of contract. Will be set to null if a more recent start date is set.
  - `workplaces` string[]: IDs of workplaces where the contractor works
  - `primary_workplace` string: The Workplace ID of the contractor's primary workplace.
  - `email` string: Contractor's email address
  - `ssn` string: Contractor's TIN (usually their Social Security Number). Must be unique across all contractors in a company. Only the last four digits of an SSN will be made available in `ssn_last_four` after being set.
  - `ein` string: Contractor's Employer Identification Number, if applicable
  - `default_net_pay_split` string: ID of contractor's net pay split
  - `payment_method_preference` string: Either "direct_deposit" or "manual", default null
  - `address` object: Contractor's address
    - `line1` string, required: Street address or PO Box
    - `line2` string: Apartment, suite, unit, or building
    - `city` string, required: City, district, suburb, town, or village
    - `state` string, required: 2-digit state code
    - `postal_code` string, required: 5-digit postal code or zip code
    - `country` string: Read only.
  - `1099_nec_electronic_consent_provided` boolean: Indicates whether the contractor has opted into electronic delivery of Copy B of 1099-NEC.
  - `metadata` string, json: Additional loosely structured information to associate with the contractor

## Response `200`

200

- object

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `5a54f5eb888b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/checkhq/apis/check-api/changes/contractors/post.md)

---

[API](https://skmtc.dev/checkhq/apis/check-api.md) - [All operations](https://skmtc.dev/checkhq/apis/check-api/llms.txt) - [OpenAPI document](https://skmtc.dev/checkhq/apis/check-api/revisions/5a54f5eb888b?raw)
