Skip to content
Try Gitea Cloud ☁️ for 30 days → Accelerate your Development & Deploys!

Create a user

POST
/admin/users
curl --request POST \
--url https://gitea.com/api/v1/admin/users \
--header 'Authorization: Basic <credentials>' \
--header 'Content-Type: application/json' \
--data '{ "created_at": "2026-04-15T12:00:00Z", "email": "hello@example.com", "full_name": "example", "login_name": "empty", "must_change_password": true, "password": "example", "restricted": true, "send_notify": true, "source_id": 1, "username": "example", "visibility": "public" }'
Media typeapplication/json

CreateUserOption create user options

object
created_at

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”.

string format: date-time
email
required
string format: email
full_name

The full display name of the user

string
login_name

Identifier of the user, provided by the external authenticator (if configured)

string
default: empty
must_change_password

Whether the user must change password on first login

boolean
password

The plain text password for the user

string
restricted

Whether the user has restricted access privileges

boolean
send_notify

Whether to send welcome notification email to the user

boolean
source_id

The authentication source ID to associate with the user

integer format: int64
username
required

Username of the user

string
visibility

User visibility level: public, limited, or private public UserVisibilityPublic limited UserVisibilityLimited private UserVisibilityPrivate

string
Allowed values: public limited private

User

Media typeapplication/json

User represents a user

object
active

Is user active

boolean
avatar_url

URL to the user’s avatar

string format: uri
created
string format: date-time
description

The user’s description

string
email
string format: email
followers_count

User counts

integer format: int64
following_count
integer format: int64
full_name

The user’s full name

string
html_url

URL to the user’s gitea page

string format: uri
id

The user’s id

integer format: int64
is_admin

Is the user an administrator

boolean
language

User locale

string
last_login
string format: date-time
location

The user’s location

string
login

Login of the user, same as username

string
login_name

Identifier of the user, provided by the external authenticator (if configured)

string
default: empty
prohibit_login

Is user login prohibited

boolean
restricted

Is user restricted

boolean
source_id

The ID of the user’s Authentication Source

integer format: int64
starred_repos_count
integer format: int64
visibility

User visibility level option: public, limited, private public UserVisibilityPublic limited UserVisibilityLimited private UserVisibilityPrivate

string
Allowed values: public limited private
website

The user’s website

string
Example
{
"login_name": "empty",
"visibility": "public"
}

APIError is error format response

message
string
url
string

APIForbiddenError is a forbidden error response

message
string
url
string

APIValidationError is error format response related to input validation

message
string
url
string