---
title: "Register"
method: POST
path: "/register"
tags: ["auth"]
---

# Register

`POST /register`

Creates a new user account.

## Request body

- V1UserRegister
  - `email` string — The user's email address
  - `language` string — The language of the new user. Must be a valid IETF BCP 47 language code and exist in Vikunja.
  - `password` string — The user's password in clear text. Only used when registering the user. The maximum limi is 72 bytes, which may be less than 72 characters. This is due to the limit in the bcrypt hashing algorithm used to store passwords in Vikunja.
  - `username` string — The user's username. Cannot contain anything that looks like an url or whitespaces.

## Response `200`

OK

- UserUser
  - `bot_owner_id` integer — BotOwnerID is the ID of the owning (human) user if this user is a bot. A non-zero value means this user is a bot and cannot authenticate via password.
  - `created` string — A timestamp when this task was created. You cannot change this value.
  - `email` string — The user's email address.
  - `id` integer — The unique, numeric id of this user.
  - `name` string — The full name of the user.
  - `updated` string — A timestamp when this task was last updated. You cannot change this value.
  - `username` string — The username of the user. Is always unique.

## Other responses

- `400` — No or invalid user register object provided / User already exists.
- `500` — Internal error

---

[API](https://skmtc.net/go-vikunja/apis/vikunja-api.md) · [All operations](https://skmtc.net/go-vikunja/apis/vikunja-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/go-vikunja/vikunja-api/revisions/feb3f68bbdf1/schema)
