---
updatedAt: 2026-08-05T01:35:55.000Z
agentTools:
  projectIndex: https://docs.checkhq.com/llms.txt
---

# Contractor Roster

This Component allows an employer to view, add, edit, and remove the contractors on their team.

The Contractor Roster Component is the contractor roster of the [Company Team Setup Component](https://docs.checkhq.com/reference/company-team-setup), available on its own. Use it when you want to give an employer a place to manage their 1099 contractors without stepping them through the full workplace → employee → contractor setup sequence.

To mint it, make the same call you make for [Company Team Setup](https://docs.checkhq.com/reference/company-team-setup) with `/contractors` appended to the path:

```text
POST /companies/{company_id}/components/team_setup/contractors
```

The request body and the response are unchanged from [Company Team Setup](https://docs.checkhq.com/reference/company-team-setup) — you get back a `url` that you [embed](https://docs.checkhq.com/docs/embedding-a-component) the same way as any other Check Component.

> 📘 Related Components
>
> The workplace and employee rosters are available on their own as the [Workplace Roster](https://docs.checkhq.com/reference/workplace-roster) and [Employee Roster](https://docs.checkhq.com/reference/employee-roster) Components. To surface workplaces, employees, and contractors together in a single guided flow, use [Company Team Setup](https://docs.checkhq.com/reference/company-team-setup).

<br />

## Differences from Company Team Setup

Because this Component is scoped to a single roster rather than a setup sequence, it behaves slightly differently than the contractor step inside [Company Team Setup](https://docs.checkhq.com/reference/company-team-setup):

| Behavior        | Contractor Roster                                                   | Company Team Setup                                                   |
| --------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------- |
| Step navigation | None — only the contractor roster is rendered.                      | "Continue" completes the Team Setup flow.                            |
| Completion      | No completion confirmation, and no completion SDK event is emitted. | The user confirms their contractor list, emitting completion events. |

Everything else — adding a contractor, editing a contractor, and removing a contractor — works exactly as it does inside Team Setup.

> 🚧 No completion event
>
> This Component does **not** emit the `check-component-team-setup-contractor-setup-complete` or `check-component-team-setup-complete` [SDK events](https://docs.checkhq.com/docs/handling-component-events) — `check-component-app-loaded` is the only event it posts. Close it on your own UX cue rather than waiting on a completion event.

<br />

> 🚧 Not yet available in the Console
>
> This Component does not appear in the Console component dropdown yet. For now, mint it directly via the API.

<br />

If `email` is provided, the user can regenerate a link sent to that email if the component link is expired.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "check-api",
    "version": "2025-01-01"
  },
  "servers": [
    {
      "url": "https://sandbox.checkhq.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "x-bearer-format": "bearer",
        "x-default": "YOUR_API_KEY"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/companies/{company}/components/team_setup/contractors": {
      "post": {
        "summary": "Contractor Roster",
        "description": "This Component allows an employer to view, add, edit, and remove the contractors on their team. It is the contractor roster of the Company Team Setup Component, available as a standalone Component.",
        "operationId": "contractor-roster",
        "parameters": [
          {
            "name": "company",
            "in": "path",
            "description": "ID of the company for which a component link will be generated",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "signer_name": {
                    "type": "string",
                    "description": "The name of the person who has permission to onboard on behalf of the company."
                  },
                  "signer_title": {
                    "type": "string",
                    "description": "The title of the person who has permission to onboard on behalf of the company (e.g. \"Officer\", \"Manager\", etc.)."
                  },
                  "email": {
                    "type": "string",
                    "description": "The email of the person who has permission to onboard on behalf of the company"
                  },
                  "signatory": {
                    "type": "string",
                    "description": "The ID of the signatory object for this company. You may use either a signatory ID or the three body params above"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\"url\":\"{component_url}\"}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "example": "{component_url}"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```