---
title: "Changes to Register a new user (first user becomes superadmin)"
method: POST
path: "/auth/register"
---

# Changes to Register a new user (first user becomes superadmin)

`POST /auth/register`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 6 of 82 revisions.

- **2026-10-01** `e1e4b18d0319`: 1 breaking, 1 warning, 6 info
- **2026-10-01** `79d6f267772a`: 1 breaking, 5 warning, 6 info
- **2026-09-28** `1fa164246828`: 2 info
- **2026-05-01** `39082d385dda`: 2 breaking, 2 warning, 10 info
- **2025-08-11** `db719f9e3d34`: 10 breaking, 6 warning, 11 info
- **2025-04-20** `b97ec6888b3c`: 7 breaking, 2 warning, 8 info

## Changes

- **2026-10-01** `e1e4b18d0319`: 1 breaking, 1 warning, 6 info
  - removed the required property `success` from the response with the `500` status
  - removed the optional property `data` from the response with the `500` status
  - added the non-success response with the status `400`
  - added the non-success response with the status `404`
  - added the non-success response with the status `413`
  - added the non-success response with the status `415`
  - added the non-success response with the status `429`
  - added the required property `status` to the response with the `500` status
- **2026-10-01** `79d6f267772a`: 1 breaking, 5 warning, 6 info
  - removed the required property `data/user/_id` from the response with the `200` status
  - removed the optional property `data/user/profileImage` from the response with the `200` status
  - added the new `admin` enum value to the `data/user/role/items/` response property for the response status `200`
  - added the new `demo` enum value to the `data/user/role/items/` response property for the response status `200`
  - added the new `superadmin` enum value to the `data/user/role/items/` response property for the response status `200`
  - added the new `user` enum value to the `data/user/role/items/` response property for the response status `200`
  - added the optional property `data/user/avatarImage` to the response with the `200` status
  - added the optional property `data/user/checkTTL` to the response with the `200` status
  - the response property `data/user/teamId` became required for the status `200`
  - added the required property `data/user/id` to the response with the `200` status
  - added the required property `data/user/isActive` to the response with the `200` status
  - added the required property `data/user/isVerified` to the response with the `200` status
- **2026-09-28** `1fa164246828`: 2 info
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `403`
- **2026-05-01** `39082d385dda`: 2 breaking, 2 warning, 10 info
  - removed the media type `application/json` from the request body
  - the response's body type changed from no type to `object` for status `200`
  - removed the optional property `details` from the response with the `500` status
  - added the new `false` enum value to the `success` response property for the response status `500`
  - request body became optional
  - added the media type `multipart/form-data` to the request body
  - removed `#/components/schemas/SuccessResponse, subschema #2` from the response body `allOf` list for the response status `200`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - removed the non-success response with the status `422`
  - added the optional property `data` to the response with the `500` status
  - added the required property `data` to the response with the `200` status
  - added the required property `msg` to the response with the `200` status
  - added the required property `success` to the response with the `200` status
- **2025-08-11** `db719f9e3d34`: 10 breaking, 6 warning, 11 info
  - request body became required
  - removed the enum value `Demo` of the request property `role`
  - removed the enum value `admin` of the request property `role`
  - removed the enum value `superadmin` of the request property `role`
  - removed the enum value `user` of the request property `role`
  - the `firstName` request property's minLength was increased from `0` to `1`
  - the `lastName` request property's minLength was increased from `0` to `1`
  - the `password` request property's minLength was increased from `0` to `8`
  - the `profileImage` request property type changed from `file` to `string`, and format from `file` to `binary`
  - the response's body type changed from `object` to no type for status `200`
  - the `firstName` request property's maxLength was set to `50`
  - the `lastName` request property's maxLength was set to `50`
  - removed the request property `teamId`
  - removed the optional property `data` from the response with the `200` status
  - removed the optional property `msg` from the response with the `200` status
  - removed the optional property `success` from the response with the `200` status
  - the request property `role` became optional
  - the `role` request property default value changed from `superadmin` to `user`
  - added `#/components/schemas/SuccessResponse, subschema #2` to the response body `allOf` list for the response status `200`
  - added the optional property `details` to the response with the `422` status
  - added the optional property `details` to the response with the `500` status
  - the response property `msg` became required for the status `422`
  - the response property `msg` became required for the status `500`
  - the response property `success` became required for the status `422`
  - the response property `success` became required for the status `500`
  - the `success` response's property default value `false` was removed for the status `422`
  - the `success` response's property default value `false` was removed for the status `500`
- **2025-04-20** `b97ec6888b3c`: 7 breaking, 2 warning, 8 info
  - removed the media type `multipart/form-data` from the request body
  - the response property `data` became optional for the status `200`
  - the response property `msg` became optional for the status `200`
  - the response property `msg` became optional for the status `500`
  - the response property `success` became optional for the status `200`
  - the response property `success` became optional for the status `500`
  - removed the required property `data/user` from the response with the `200` status
  - removed the optional property `data` from the response with the `500` status
  - removed the optional property `data/token` from the response with the `200` status
  - added the media type `application/json` to the request body
  - added the non-success response with the status `422`
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `403`
  - the `success` response's property default value `false` was added for the status `500`
  - the `success` response's property default value `true` was added for the status `200`
  - removed the `false` enum value from the `success` response property for the response status `500`
  - removed the `true` enum value from the `success` response property for the response status `200`

---

[Operation](https://skmtc.dev/bluewave-labs/apis/checkmate-api/docs/auth/register/post.md) - [API](https://skmtc.dev/bluewave-labs/apis/checkmate-api.md) - [Page](https://skmtc.dev/bluewave-labs/apis/checkmate-api/changes/auth/register/post)
