---
title: "Create User"
method: POST
path: "/v1/users"
tags: ["BackendService"]
---

# Create User

`POST /v1/users`

Create a User.

## Request body

- User — A User represents an individual working for one of your corporate customers.
  - `id` string — The User ID. Starts with `user_...`.
  - `organizationId` string — The Organization this User belongs to.
  - `email` string — The User's email address. This email is verified and unique within the Organization. Two Users in different Organizations may have the same email.
  - `createTime` string, date-time — When the User was created.
  - `updateTime` string, date-time — When the User was last updated.
  - `owner` boolean — Whether the User is an owner of their Organization.
  - `googleUserId` string — The Google User ID, if the User has ever logged in with Google.
  - `microsoftUserId` string — The Microsoft User ID, if the User has ever logged in with Microsoft.
  - `githubUserId` string — The Github User ID, if the User has ever logged in with GitHub.
  - `hasAuthenticatorApp` boolean — Whether the User has an authenticator app set up.
  - `displayName` string — The User's human-friendly name.
  - `profilePictureUrl` string — The URL of the User's profile picture.

## Response `200`

OK

- CreateUserResponse
  - `user` User — A User represents an individual working for one of your corporate customers.
    - `id` string — The User ID. Starts with `user_...`.
    - `organizationId` string — The Organization this User belongs to.
    - `email` string — The User's email address. This email is verified and unique within the Organization. Two Users in different Organizations may have the same email.
    - `createTime` string, date-time — When the User was created.
    - `updateTime` string, date-time — When the User was last updated.
    - `owner` boolean — Whether the User is an owner of their Organization.
    - `googleUserId` string — The Google User ID, if the User has ever logged in with Google.
    - `microsoftUserId` string — The Microsoft User ID, if the User has ever logged in with Microsoft.
    - `githubUserId` string — The Github User ID, if the User has ever logged in with GitHub.
    - `hasAuthenticatorApp` boolean — Whether the User has an authenticator app set up.
    - `displayName` string — The User's human-friendly name.
    - `profilePictureUrl` string — The URL of the User's profile picture.

## Other responses

- `400` — API Error
- `401` — API Error
- `403` — API Error
- `404` — API Error

## Changes

- **2025-05-20** `3ea9a7bcd498` — 2 info
  - added the new optional request property `githubUserId`
  - added the optional property `user/allOf[#/components/schemas/User]/githubUserId` to the response with the `200` status
- **2025-05-06** `9c3c66ced257` — 4 info
  - added the new optional request property `displayName`
  - added the new optional request property `profilePictureUrl`
  - added the optional property `user/allOf[#/components/schemas/User]/displayName` to the response with the `200` status
  - added the optional property `user/allOf[#/components/schemas/User]/profilePictureUrl` to the response with the `200` status
- **2025-03-11** `e3ac0347dfbe` — 1 breaking, 9 warning, 1 info
  - the `user` response's property type changed from `object` to no type for status `200`
  - removed the optional property `user/createTime` from the response with the `200` status
  - removed the optional property `user/email` from the response with the `200` status
  - removed the optional property `user/googleUserId` from the response with the `200` status
  - …7 more
- …earlier changes not shown

[Full history](https://skmtc.dev/tesseral-labs/apis/backendservice-api/changes/v1/users/post.md)

---

[API](https://skmtc.dev/tesseral-labs/apis/backendservice-api.md) · [All operations](https://skmtc.dev/tesseral-labs/apis/backendservice-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tesseral-labs/backendservice-api/revisions/fe83f78ae20a/schema)
