---
title: "Create a new user"
method: POST
path: "/v1/users"
tags: ["users"]
---

# Create a new user

`POST /v1/users`

Create a new user with the specified configuration.

## Request body

- CreateUserRequestBody
  - `user` union, required
    - LocalUserData
      - `email` string, required
      - `username` string, required
      - `role` 'SYSTEM' | 'ADMIN' | 'MEMBER' | 'VIEWER', required
      - `auth_method` 'LOCAL', required
      - `password` string
    - OAuth2UserData
      - `email` string, required
      - `username` string, required
      - `role` 'SYSTEM' | 'ADMIN' | 'MEMBER' | 'VIEWER', required
      - `auth_method` 'OAUTH2', required
      - `oauth2_client_id` string
      - `oauth2_user_id` string
    - LDAPUserData
      - `email` string, required
      - `username` string, required
      - `role` 'SYSTEM' | 'ADMIN' | 'MEMBER' | 'VIEWER', required
      - `auth_method` 'LDAP', required
  - `send_welcome_email` boolean

## Response `201`

The newly created user.

- CreateUserResponseBody
  - `data` union, required
    - LocalUser
      - `id` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `email` string, required
      - `username` string, required
      - `role` 'SYSTEM' | 'ADMIN' | 'MEMBER' | 'VIEWER', required
      - `auth_method` 'LOCAL', required
      - `password` string
      - `password_needs_reset` boolean, required
    - OAuth2User
      - `id` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `email` string, required
      - `username` string, required
      - `role` 'SYSTEM' | 'ADMIN' | 'MEMBER' | 'VIEWER', required
      - `auth_method` 'OAUTH2', required
      - `oauth2_client_id` string
      - `oauth2_user_id` string
      - `profile_picture_url` string
    - LDAPUser
      - `id` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `email` string, required
      - `username` string, required
      - `role` 'SYSTEM' | 'ADMIN' | 'MEMBER' | 'VIEWER', required
      - `auth_method` 'LDAP', required

## Other responses

- `400` — Role not found.
- `403` — Forbidden
- `409` — Username or email already exists.
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/arize-ai/apis/arize-phoenix-rest-api.md) · [All operations](https://skmtc.net/arize-ai/apis/arize-phoenix-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arize-ai/arize-phoenix-rest-api/versions/a14d8ad6f708/schema)
