---
title: "Create a user"
method: POST
path: "/v3/users"
tags: ["User"]
---

# Create a user

`POST /v3/users`

## Request

- Base URL: `https://api-APP_ID.sendbird.com`
- URL: `https://api-APP_ID.sendbird.com/v3/users`
- Auth: none declared

## Create a user

You should create a user in your Sendbird application to initiate conversations in channels. A user is identified by its unique user ID, and additionally have a changeable nickname, profile image, and so on. Users are at the core of all conversations. Sendbird applications are made up of users who chat in either Open Channels or Group Channels. Using this API, it is possible to have fine grained control over your users and what those users can do. To learn more about users, see [User overview](https://sendbird.com/docs/chat/platform-api/v3/user/user-overview#2-resource-representation).

https://sendbird.com/docs/chat/platform-api/v3/user/creating-users/create-a-user#1-create-a-user

## Headers

- `api-token` string

## Request body

- CreateAUserRequest
  - `discovery_keys` string[], nullable
  - `issue_access_token` boolean
  - `metadata` object, nullable
  - `nickname` string, nullable, required
  - `profile_file` string, binary: Specifies the file of the user's profile image. An acceptable image is limited to a JPG, JPEG, or PNG file of up to 5 MB. When passing a file, you should send a multipart request. If the profile_file property is specified, the profile_url property is not required.
  - `profile_url` string, required
  - `user_id` string, required

## Response `200`

Successful response

- CreateAUserResponse: User
  - `access_token` string
  - `created_at` integer
  - `discovery_keys` string[], nullable
  - `has_ever_logged_in` boolean
  - `is_active` boolean
  - `is_hide_me_from_friends` boolean
  - `is_online` boolean
  - `is_shadow_blocked` boolean
  - `last_seen_at` integer
  - `locale` string
  - `metadata` object, nullable
  - `nickname` string, nullable
  - `preferred_languages` string[], nullable
  - `profile_url` string
  - `require_auth_for_profile_image` boolean
  - `user_id` string, required
  - `state` '' | 'invited' | 'joined', nullable
  - `unread_channel_count` integer
  - `unread_message_count` integer
  - `phone_number` string
  - `is_created` boolean

## Changes

- **2025-10-17** `b05d4e3c6329`: 4 info
  - the request property `discovery_keys` became nullable
  - the request property `metadata` became nullable
  - the request property `nickname` became nullable
  - the `profile_url` request property default value `` was added
- **2025-07-27** `7a85bad03e90`: 1 warning, 2 info
  - deleted the `header` request parameter `Api-Token`
  - api operation id `createUser` removed and replaced with `createAUser`
  - added the new optional `header` request parameter `api-token`
- **2023-11-10** `135d8b0705d4`: 1 info
  - the `header` request parameter `Api-Token` became optional
- **2022-07-27** `0b6cf41bc62a`: 1 breaking
  - the `metadata` request property type changed from `string` to `object`
- **2022-02-16** `c42164095c7c`: 1 breaking
  - the `header` request parameter `Api-Token` became required

[Operation history](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk/changes/v3/users/post.md)

---

[API](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk.md) - [All operations](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk/llms.txt) - [OpenAPI document](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk/revisions/9e53a5288df0?raw)
