---
title: "Get contractors of a company"
method: GET
path: "/v1/companies/{company_uuid}/contractors"
tags: ["Contractors"]
---

# Get contractors of a company

`GET /v1/companies/{company_uuid}/contractors`

## Request

- Base URL: `https://api.gusto-demo.com`
- URL: `https://api.gusto-demo.com/v1/companies/{company_uuid}/contractors`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/gusto/apis/gusto-api/docs/v1/companies/:company_uuid/contractors/get.ts> (a function with typed inputs; its response is checked against the schema)

Get all contractors, active and inactive, individual and business, for a company.

scope: `contractors:read`

## Path parameters

- `company_uuid` string, required

## Query parameters

- `search_term` string
- `sort_by` string
- `onboarded` boolean
- `onboarded_active` boolean
- `terminated` boolean
- `terminated_today` boolean
- `include` string[]
- `page` integer
- `per` integer

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Response `200`

Successful

- ContractorShow[]
  - `uuid` string, required: The UUID of the contractor in Gusto.
  - `company_uuid` string: The UUID of the company the contractor is employed by.
  - `wage_type` 'Fixed' | 'Hourly': The contractor's wage type, either "Fixed" or "Hourly".
  - `is_active` boolean: The status of the contractor with the company.
  - `version` string: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field.
  - `type` 'Individual' | 'Business': The contractor's type, either "Individual" or "Business".
  - `first_name` string, nullable: The contractor’s first name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors.
  - `last_name` string, nullable: The contractor’s last name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors.
  - `middle_initial` string, nullable: The contractor’s middle initial. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors.
  - `business_name` string, nullable: The name of the contractor business. This attribute is required for “Business” contractors and will be ignored for “Individual” contractors.
  - `ein` string, nullable: The Federal Employer Identification Number of the contractor business. This attribute is optional for “Business” contractors and will be ignored for “Individual” contractors.
  - `has_ein` boolean, nullable: Whether company's Employer Identification Number (EIN) is present
  - `email` string, nullable: The contractor’s email address. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors.
  - `work_email` string, nullable: The work email address of the contractor. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing).
  - `start_date` string: The contractor's start date.
  - `address` object, nullable: The contractor’s home address.
    - `street_1` string
    - `street_2` string, nullable
    - `city` string
    - `state` string
    - `zip` string
    - `country` string
  - `hourly_rate` string: The contractor’s hourly rate. This attribute is required if the wage_type is “Hourly”.
  - `file_new_hire_report` boolean, nullable: The boolean flag indicating whether Gusto will file a new hire report for the contractor
  - `work_state` string, nullable: State where the contractor will be conducting the majority of their work for the company. This value is used when generating the new hire report.
  - `onboarded` boolean: The updated onboarding status for the contractor
  - `onboarding_status` 'admin_onboarding_incomplete' | 'admin_onboarding_review' | 'self_onboarding_not_invited' | 'self_onboarding_invited' | 'self_onboarding_started' | 'self_onboarding_review' | 'onboarding_completed': One of the "onboarding_status" enum values.
  - `payment_method` 'Direct Deposit' | 'Check', nullable: The contractor's payment method.
  - `has_ssn` boolean: Indicates whether the contractor has an SSN in Gusto.
  - `department_uuid` string, nullable: The UUID of the department the contractor is under
  - `department` string, nullable: The contractor's department in the company.
  - `department_title` string, nullable: The title of the contractor's department.
  - `dismissal_date` string, nullable: The contractor's dismissal date.
  - `upcoming_employment` object, nullable: The contractor's upcoming employment details, if a rehire is scheduled.
    - `start_date` string: The start date of the upcoming employment.
    - `setup_status` string, nullable: The setup status of the upcoming employment.
  - `dismissal_cancellation_eligible` boolean: Whether the contractor's pending dismissal can be cancelled.
  - `rehire_cancellation_eligible` boolean: Whether the contractor's pending rehire can be cancelled.
  - `member_portal_invitation_status` object, nullable: Member portal invitation status information. Only included when the include param has the portal_invitations value set.
    - `status` 'pending' | 'sent' | 'verified' | 'complete' | 'cancelled': The current status of the member portal invitation.
    - `token_expired` boolean, nullable: Whether the invitation token has expired.
    - `welcome_email_sent_at` string, date-time, nullable: The date and time when the welcome email was sent.
    - `last_password_resent_at` string, date-time, nullable: The date and time when the password reset was last resent.
  - `partner_portal_invitation_sent` boolean, nullable: Whether an external partner portal invitation webhook has been sent for this contractor. Only included when the include param has the portal_invitations value set.
  - `company_name` string: The name of the company the contractor is associated with. Only included when the include param has the company_name value set.

## Other responses

- `404`: Not Found The requested resource does not exist. Make sure the provided UUID is valid.

## Changes

- **2026-11-03** `f98575fa2a5e`: 2 breaking, 30 warning, 1 info
  - the `items/` response's property type changed from `object` to no type for status `200`
  - removed the required property `items/uuid` from the response with the `200` status
  - removed the optional property `items/address` from the response with the `200` status
  - removed the optional property `items/business_name` from the response with the `200` status
  - …29 more

[Operation history](https://skmtc.dev/gusto/apis/gusto-api/changes/v1/companies/:company_uuid/contractors/get.md)

---

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