---
title: "Changes to Create a user in a company"
method: POST
path: "/api/users"
---

# Changes to Create a user in a company

`POST /api/users`

> Every recorded change to this endpoint, newest first.
> 49 revisions in range; 1 not diffed.

## Timeline

Changed in 4 of 49 revisions.

- **2026-09-15** `5605195a7af2` — 1 breaking
- **2026-09-13** `8049f7c86213` — 1 info
- **2026-08-31** `97e51f27dc77` — 14 breaking, 13 info
- **2026-08-12** `ac2cf3c5eae2` — 1 info

## Changes

- **2026-09-15** `5605195a7af2` — 1 breaking
  - removed the required property `primaryRole` from the response with the `201` status
- **2026-09-13** `8049f7c86213` — 1 info
  - added the new optional request property `roleKey`
- **2026-08-31** `97e51f27dc77` — 14 breaking, 13 info
  - request property `email` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `lastName` list-of-types was narrowed by removing types `null` from media type `application/json`
  - added the pattern `^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$` to the request property `email`
  - the response property `avatarFileUrl` became nullable for the status `201`
  - the response property `email` became nullable for the status `201`
  - the response property `emailSha256` became nullable for the status `201`
  - the response property `firstName` became nullable for the status `201`
  - the response property `intercomHash` became nullable for the status `201`
  - the response property `isBlocked` became nullable for the status `201`
  - the response property `langId` became nullable for the status `201`
  - the response property `lastName` became nullable for the status `201`
  - the response property `originalAvatarFileUrl` became nullable for the status `201`
  - the response property `primaryCompanyId` became nullable for the status `201`
  - the response property `primaryRole` became nullable for the status `201`
  - the request property `email` became nullable
  - the request property `lastName` became nullable
  - response property `avatarFileUrl` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `email` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `emailSha256` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `firstName` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `intercomHash` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `isBlocked` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `langId` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `lastName` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `originalAvatarFileUrl` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `primaryCompanyId` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
  - response property `primaryRole` list-of-types was narrowed by removing types `null` from media type `application/json` of response `201`
- **2026-08-12** `ac2cf3c5eae2` — 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/retraced/apis/api-reference/docs/api/users/post.md) · [API](https://skmtc.dev/retraced/apis/api-reference.md) · [Page](https://skmtc.dev/retraced/apis/api-reference/changes/api/users/post)
