---
title: "Invite User"
method: POST
path: "/api/v1/account/users/invite"
tags: ["account"]
---

# Invite User

`POST /api/v1/account/users/invite`

## Request

- Base URL: `https://app.kaminari.ad`
- URL: `https://app.kaminari.ad/api/v1/account/users/invite`
- Auth: HTTP bearer

Invite a new user to the caller's organization.

## Request body

- InviteUserRequest: Request body for user invitation. Legacy IANA timezone aliases are normalised to canonical names by :data:`OptionalTimezone` so the invitee row in ``users`` always holds a name that ``ZoneInfo`` accepts.
  - `email` string, required
  - `name` string
  - `role_id` string, uuid, required
  - `timezone` string, nullable

## Response `201`

Successful Response

- UserResponse: User details returned to clients. The ``organization_*`` and ``role_id`` fields are additive (introduced in COOP-14061 follow-up) — older clients ignore them while admin SPA (and self-service "team members" pages) need them for filtering, linking, and editing. ``role_scope`` ("org" / "admin") is additive too (COOP-14131): the admin SPA inspects it to (a) hide admin-scope rows from the regular Edit-User role dropdown and (b) render a read-only Internal Admin badge in place of editable controls when the user is staff. Older clients that ignore it keep working.
  - `id` string, uuid, required
  - `email` string, required
  - `name` string, required
  - `role_id` string, uuid, required
  - `role_name` string, required
  - `role_scope` string
  - `organization_id` string, uuid, required
  - `organization_name` string, required
  - `is_active` boolean, required
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kaminari/apis/kaminari-ad-api.md) · [All operations](https://skmtc.dev/kaminari/apis/kaminari-ad-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kaminari/apis/kaminari-ad-api/revisions/013f86e2fd32?raw)
