---
title: "POST /v1/workers/{id}/invite"
method: POST
path: "/v1/workers/{id}/invite"
tags: ["Workers"]
---

# POST /v1/workers/{id}/invite

`POST /v1/workers/{id}/invite`

Send or resend the worker invite so they can accept and complete onboarding to Warp. If the worker has already been invited, the invite will be resent with extended validity.

## Path parameters

- `id` string, required — The id of the worker.

## Response `201`

Success

- object
  - `id` string, required — The id of the worker.
  - `position` string, required
  - `type` 'employee' | 'contractor', required
  - `status` 'draft' | 'invited' | 'onboarding' | 'active' | 'offboarding' | 'inactive', required
  - `startDate` string, required — A date string in the form YYYY-MM-DD
  - `endDate` string, nullable, required — A date string in the form YYYY-MM-DD
  - `isBusiness` boolean, nullable, required
  - `businessName` string, nullable, required
  - `firstName` string, required
  - `lastName` string, required
  - `email` string, required — An email with a reasonably valid regex (shamelessly taken from zod)
  - `workEmail` string, nullable, required — An email with a reasonably valid regex (shamelessly taken from zod)
  - `preferredName` string, nullable, required
  - `displayName` string, required — The "ui" name of a worker. If it's a business contractor business name is used. Otherwise we default to preferred name, then first-last.
  - `timeZone` string, nullable, required — The IANA timezone of the worker (e.g., America/New_York).
  - `department` object, nullable, required — The department the worker belongs to, or null if unassigned.
    - `id` string, required — The unique public id of the department
    - `name` string, required

## Other responses

- `400` — The request did not match the expected schema
- `401` — ApiKeyUnauthorized
- `403` — MissingRequiredPermissions
- `404` — The specified worker could not be found.
- `409` — The worker's current status does not allow this action. For example, only draft or invited workers can be invited, and only draft or invited workers can be deleted.
- `429` — RateLimitExceeded
- `500` — InternalServerError

## Changes

- **2026-03-19** `a896c17cf988` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/teamwarp/apis/warp-api/changes/v1/workers/:id/invite/post.md)

---

[API](https://skmtc.dev/teamwarp/apis/warp-api.md) · [All operations](https://skmtc.dev/teamwarp/apis/warp-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/teamwarp/warp-api/revisions/f3df5d5ca575/schema)
