Businesses that exclusively work with contractors (meaning they do not employ any W-2 employees) should use contractor-only companies. Contractor-only companies benefit from a streamlined onboarding process with fewer requirements than companies that manage W-2 employees, but they are subject to a payroll blocker that prevents W-2 payroll processing. A contractor-only company can be upgraded to support contractor payments and W-2 payroll, and the company must then complete additional onboarding steps to enable W-2 payroll. Although we are not explicitly blocking API endpoints, fully onboarded contractor-only companies are unable to run payroll due to the contractor-only payroll blocker. This applies even when the company has onboarded contractors.Documentation Index
Fetch the complete documentation index at: https://gusto-preview.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
1. Create a contractor-only company
Specify"contractor_only": true in the API request body of the POST v1/partner_managed_companies endpoint.
By default, unless explicitly defined, the "contractor_only" attribute is set to false, indicating the company supports at least one W-2 employee.
Sample request
2. Get a company’s contractor_only status
Make a call to the GET /v1/companies endpoint to check the"contractor_only" value in the response.
If "contractor_only: true the company is configured as contractor-only.
Sample response
3. Get a company’s onboarding requirements
Retrieve the company’s onboarding requirements using the GET companies/{company_uuid}/onboarding_status endpoint, as onboarding steps for contractor-only companies are different than companies that support W-2 employees. For contractor-only companies the onboarding steps include:add_addressesfederal_tax_setupselect_industryadd_bank_infoadd_contractorssign_all_formsverify_bank_info
state_setup, payroll_schedule, and add_employees steps are not included for contractor-only.
Sample request
4. Handle payroll blockers
Check payroll blockers through the GET /v1/companies/{company_uuid}/payrolls/blockers endpoint. If a company is contractor-only, it will have the following payroll blocker:5. Generate a contractor-only onboarding flow
After creating a contractor-only company using the POST /v1/partner_managed_companies endpoint, generate acompany_onboarding flow using our POST /v1/companies/{company_uuid}/flows endpoint.
Contractor-only flow:

- Steps such as “Add Your Employees,” “Select a Pay Schedule,” and “Enter Your State Tax Information” are not included as steps in the contractor-only onboarding flow since these steps are not applicable.
- For contractor-only companies, the unique step “Add Your Contractors” addresses their specific operational needs, nesting the
add_contractorsflow within the broader company onboarding flow.
Non-contractor-only flow:
As a comparison to the contractor-only company onboarding flow, here’s what the company onboarding flow looks like for companies that support W-2 employees:
Update a company to support payroll for W-2 employees
If a contractor-only company wants to onboard and run payroll for W-2 employees, the company must first be updated using thePUT /v1/companies endpoint and specifying “contractor_only”: false in the body params:
Updating the “contractor_only” attribute
- The
contractor_onlyattribute can only be updated fromtruetofalse, and not vice versa. In other words,contractor_onlycannot be enabled for an existing company. - If you update
"contractor_only": falseyou must also complete thestate_setup,payroll_schedule, andadd_employeesonboarding steps before running payroll.
Migrate an existing company Manage company locations