---
title: "Schedule a contractor rehire"
method: POST
path: "/v1/contractors/{contractor_uuid}/rehire"
tags: ["Contractors"]
---

# Schedule a contractor rehire

`POST /v1/contractors/{contractor_uuid}/rehire`

## Request

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

## Purpose
Schedules a contractor rehire for a given date. Creates a new employment record for the contractor.

## Prerequisites
Before calling this endpoint:
1. The contractor must be inactive (previously dismissed)
2. The contractor must not already have an upcoming employment

## Related webhooks
- `contractor.reactivated`: Fires when the rehire is recorded
- `contractor.reactivation_effective`: Fires when the rehire takes effect (on start_date)

scope: `contractors:write`

## Path parameters

- `contractor_uuid` string, required

## Headers

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

## Request body

- object
  - `start_date` string, date, required: The rehire date

## Response `204`

no content

## Other responses

- `422`: Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.

---

[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)
