---
title: "POST /v1/departments/{department_id}/invitations"
method: POST
path: "/v1/departments/{department_id}/invitations"
tags: ["Departments"]
---

# POST /v1/departments/{department_id}/invitations

`POST /v1/departments/{department_id}/invitations`

## Request

- Base URL: `https://api.yardstick.team`
- URL: `https://api.yardstick.team/v1/departments/{department_id}/invitations`
- Auth: HTTP bearer

POST /v1/departments/{department_id}/invitations

**Required scopes:** `invitations:write`

## Path parameters

- `department_id` string, required

## Headers

- `Idempotency-Key` string
- `X-Request-Id` string

## Request body

- object
  - `email` string, email, required
  - `name` string
  - `full_name` string
  - `role` 'department_lead' | 'recruiter', required
  - `expires_in_hours` integer

## Response `201`

Invitation created and email queued.

- DepartmentInvitationCreateResponse: Department invitation create response. Invitation secrets/tokens are never returned.
  - `id` string, required: Display id, e.g. `inv_<base32>`
  - `object` 'department_invitation', required
  - `department_id` string, required: Display id, e.g. `dpt_<base32>`
  - `organization_id` string, required: Display id, e.g. `org_<base32>`
  - `email` string, required
  - `name` string, nullable, required
  - `role` string, required
  - `status` string, required
  - `accepted_at` string, nullable, required: ISO-8601 UTC
  - `expires_at` string, nullable, required: ISO-8601 UTC
  - `created_at` string, nullable, required: ISO-8601 UTC
  - `updated_at` string, nullable, required: ISO-8601 UTC
  - `membership_created` false, required: Invitation creation never creates membership; acceptance does.
  - `pending_membership_role` 'lead' | 'member', required
  - `email_delivery` object, required
    - `status` 'sent' | 'failed', required

## Other responses

- `202`: Invitation created, but email delivery failed. The response contains no token or invitation URL.
- `400`: Invalid request
- `401`: Authentication failure
- `403`: Permission denied (scope or feature flag)
- `404`: Resource not found. The error uses the resource-specific code and param names the exact body field or path parameter that referenced it.
- `409`: Conflict (e.g. idempotency key reuse with different body)
- `429`: Rate limited
- `500`: Internal error

---

[API](https://skmtc.dev/yardstick/apis/yardstick-public-api.md) · [All operations](https://skmtc.dev/yardstick/apis/yardstick-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yardstick/apis/yardstick-public-api/revisions/35b5a6e88b35?raw)
