In this guide
- How to create a Contractor
- How to submit a W-9 form
- How to add a contractor Bank Account
- How to onboard a contractor using white-label components
API
Create a Contractor
Call Create Contractor.Note
Remember to replace the placeholders such as{{testApiKey}} in the code samples below.W9: Fetching Paperwork Templates
The W9 form can be sent to Zeal using the Paperwork endpoints. The Paperwork Template object outlines the fields that represent a Paperwork Template, which includes key information such as the name of the form, the applicable jurisdiction(s), and the fields on the form. For the purposes of this guide, we will be focusing on Paperwork Templates withpaperwork_type as W9.
Paperwork Templates can be fetched using the Get Paperwork Template. Be sure to include the jurisdiction(s) and the effective date for the W9 form you want to retrieve.
W9: Submitting Paperwork
To submit a completed W9 form, use the Create Paperwork Submission or PUT/paperwork/submissions endpoint. The endpoint accepts the following body parameters:
templateID: Unique identifier for the Paperwork Template (from previous step)worker_type: Type of worker (contractor)companyID: Unique identifier for the companyemployeeID: Unique identifier for the employee (nullable if the worker type is contractor)contractorID: Unique identifier for the contractor (nullable if the worker type is employee)fields: The completed fields and values
/paperwork/submissions request:
W9: Fetching Paperwork Submissions
You can always fetch the completed paperwork submission(s) using the Get Paperwork Submissions or POST/paperwork/submissions endpoint. The endpoint allows filtering by paperwork_type, companyID, jurisdiction_filter, and worker_filter.
Below is an example JSON response of a successful POST /paperwork/submissions request:
Add a Bank Account (optional)
Note
This is an optional step. A Contractor onboarded without a bank account can still be paid with any disbursement method other thandirect_deposit.Set onboarded to true
Call Set Onboarded Status to True.White-Label
Access the Company Dashboard
Navigate to your Partner Dashboard and ensure that Test Mode is enabled. Then, click on a Company to access the Company Dashboard as an Admin.
Add a Contractor
Navigate to the People page, click the Contractors tab, then click Add contractor .

Send the onboarding link
Back on the People page, find the Contractor and click Copy onboarding link then click Send link to contractor’s email.
Tip
The link can also be accessed programmatically by calling Generate Contractor Onboarding Link.Complete the onboarding flow
When the contractor navigates to the page, they see the white-label component on your domain with your logo.
Note
When the Contractor Onboarding flow is completed successfully through the white-label, data about the Contractor is sent to the webhook established for the Contractor Event Webhook.Recap
- To onboard a contractor, personal information and a W-9 form should be collected
- Bank account details don’t need to be submitted, but the contractor can’t be paid by direct deposit without them
- Companies can create Contractors from the Company Dashboard
- Contractor can complete onboarding through the Contractor Onboarding component