---
title: "Create User"
method: POST
path: "/api/platform/users"
tags: ["platform"]
---

# Create User

`POST /api/platform/users`

Create an Auth0 user and add them to an organization.

Requires ``editor`` on the ``members-users`` module instance (derived from the
POST method by the parent router gate). The user is created natively in
Auth0 (database connection + verification email), added to the target
organization, and the matching ``user → member → organization`` FGA tuple
is written so the dock's authorization view stays in lockstep with Auth0.

When ``groupId`` is provided the user is also added to the specified group.

## Request body

- CreatePlatformUserRequest — Operator-supplied payload for creating an Auth0 user and adding them to an org. Only ``email`` and ``organizationId`` are required: the user is created in a database connection (``connection``, defaulting to the tenant's standard one) and immediately added to the organization. ``password`` is optional — when omitted the backend generates a strong random one and asks Auth0 to send the verification email, so onboarding stays a single field for the operator while remaining a fully native Auth0 user. ``groupId`` is optional — when provided the new user is also added to the specified group immediately after creation and org membership.
  - `email` string, required
  - `organizationId` string, required
  - `name` string, nullable
  - `connection` string, nullable
  - `password` string, nullable
  - `groupId` string, nullable

## Response `201`

Successful Response

- User — A single user in the connected Auth0 tenant. Identity-only: organization and group memberships are looked up on demand via :class:`UserMembership` so listing pages don't pay for an FGA scan that only the detail pane will read. When multiple Auth0 users share one verified email they are collapsed into one row; ``linked_subs`` lists every Auth0 ``user_id`` for that person.
  - `userId` string, required
  - `email` string, nullable
  - `name` string, nullable
  - `picture` string, nullable
  - `loginCount` integer
  - `lastLogin` string, nullable
  - `createdAt` string, nullable
  - `linkedSubs` string[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/gocrisp/apis/crisp-app-dock.md) · [All operations](https://skmtc.dev/gocrisp/apis/crisp-app-dock/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gocrisp/crisp-app-dock/revisions/e56bd3c1a9db/schema)
