# Invite a user to an organization

> POST /users/invites

Source: https://docs.trykintsugi.com/reference/2026-07-21/invite-a-user-to-an-organization

POST /users/invites

Invite a user to an organization

Invite a user to the organization by email. If the email already belongs to a Kintsugi user, they are added to the organization directly and the response `outcome` is `ADDED` with the new `user`; otherwise an invitation is sent and `outcome` is `INVITED` with the pending `invite`. Idempotent on the email: if they are already a member, or already have an invitation outstanding, the existing one is returned unchanged with a `200` instead of `201`, and their role is not modified. Use `PATCH /users/{userId}` to change a role. Requires a user credential (an API key is rejected) that is an Owner or Admin of the organization. Select a client organization with `Organization-Id`, or omit it for the partner firm team. Only an Owner can assign the Owner role (403). Applies to organizations using Kintsugi-managed sign-in; an organization federated to its own identity provider manages invitations there.

Category: Users

Request body:
email (string, required) - Email address of the user to invite or add to the organization.
role (PublicUserRoleEnum, required) - Primary role to grant the user in the organization.
  allowed values: OWNER, ADMIN, MEMBER
additionalRoles (string[]) - Optional additional role names to assign alongside the primary role.

Response fields:
outcome (PublicInviteOutcomeEnum, required) - `INVITED` when the result is an invitation, `ADDED` when an existing user holds membership directly. Branch on this rather than on which of `invite` / `user` is populated. Whether it was newly created is the response status: `201` created, `200` already existed.
  allowed values: INVITED, ADDED
invite (OrgInvite, required) - The invitation when `outcome` is `INVITED`; null otherwise.
  id (string, required) - Opaque unique identifier of the invitation. Treat as opaque; do not parse. Pass it to the revoke endpoint to cancel the invitation.
  organizationId (string, required) - Owning organization id (`orgn_…`), or the partner portfolio id (`part_…`) when the invitation is for the firm team.
  email (string, required) - Email address the invitation was sent to.
  role (PublicUserRoleEnum, required) - Role the invitee will hold once they accept, or null if the underlying role is not one of the published values.
    allowed values: OWNER, ADMIN, MEMBER
[truncated, see the reference page]

---

Index of every page: https://docs.trykintsugi.com/llms.txt
