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

# Create a user

`POST /admin/users`

## Request body

- CreateUserOption — CreateUserOption create user options
  - `created_at` string, date-time — For explicitly setting the user creation timestamp. Useful when users are migrated from other systems. When omitted, the user's creation timestamp will be set to "now".
  - `email` string, required
  - `full_name` string — The full display name of the user
  - `login_name` string — identifier of the user, provided by the external authenticator (if configured)
  - `must_change_password` boolean — Whether the user must change password on first login
  - `password` string — The plain text password for the user
  - `restricted` boolean — Whether the user has restricted access privileges
  - `send_notify` boolean — Whether to send welcome notification email to the user
  - `source_id` integer — The authentication source ID to associate with the user
  - `username` string, required — username of the user
  - `visibility` 'public' | 'limited' | 'private' — User visibility level: public, limited, or private

## Response `201`

User

- User — User represents a user
  - `active` boolean — Is user active
  - `avatar_url` string — URL to the user's avatar
  - `created` string, date-time
  - `description` string — the user's description
  - `email` string, email
  - `followers_count` integer — user counts
  - `following_count` integer
  - `full_name` string — the user's full name
  - `html_url` string — URL to the user's gitea page
  - `id` integer — the user's id
  - `is_admin` boolean — Is the user an administrator
  - `language` string — User locale
  - `last_login` string, date-time
  - `location` string — the user's location
  - `login` string — login of the user, same as `username`
  - `login_name` string — identifier of the user, provided by the external authenticator (if configured)
  - `prohibit_login` boolean — Is user login prohibited
  - `restricted` boolean — Is user restricted
  - `source_id` integer — The ID of the user's Authentication Source
  - `starred_repos_count` integer
  - `visibility` 'public' | 'limited' | 'private' — User visibility level option: public, limited, private
  - `website` string — the user's website

## Other responses

- `400` — APIError is error format response
- `403` — APIForbiddenError is a forbidden error response
- `422` — APIValidationError is error format response related to input validation

---

[API](https://skmtc.net/gitea/apis/gitea-api.md) · [All operations](https://skmtc.net/gitea/apis/gitea-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gitea/gitea-api/versions/350de506cefa/schema)
