---
title: "Creates a new user"
method: POST
path: "/users"
tags: ["Users"]
---

# Creates a new user

`POST /users`

Creates a new user with the provided email address and password. This endpoint does not generate an email to send to the user. Users created through the web app get an auto-generated password emailed to them. Due to the password being a part of this endpoint's request body, this email is not necessary.

## Request body

- PostUserRequest
  - `first_name` string — First name of the user.
  - `last_name` string — Last name of the user.
  - `is_administrator` boolean — If this user is an administrator. Administrators always have access to all dashboards, as well as the ability to change all settings for an account.
  - `email` string — Email address of the user. The email address functions as the user's username, and so a single email address cannot be shared between several Text Request accounts.
  - `password` string — Password for the user to access their account.
  - `external_user_id` string — The external id of the user. The external id is only used as part of the api to label users for filtering and searching. Multiple users can have the same external id.
  - `permissions` UserPermission[]
    - `dashboard_id` integer — The dashboard identifier. This will be used with all API calls at dashboard level.
    - `role` string — Specific permission level of this user. Can be either "Manager" or "CSR" (Customer Service Rep). For giving a user admin permissions, see the is_administrator user flag.

## Response `200`

The new user.

- User
  - `id` integer — The user identifier. Required to update or delete users.
  - `first_name` string — First name of the user.
  - `last_name` string — Last name of the user.
  - `is_administrator` boolean — If this user is an administrator. Administrators always have access to all dashboards, as well as the ability to change all settings for an account.
  - `email` string — Email address of the user. The email address functions as the user's username.
  - `external_user_id` string — The external id of the user. The external id is only used as part of the api to label users for filtering and searching. Multiple users can have the same external id.
  - `permissions` UserPermission[]
    - `dashboard_id` integer — The dashboard identifier. This will be used with all API calls at dashboard level.
    - `role` string — Specific permission level of this user. Can be either "Manager" or "CSR" (Customer Service Rep). For giving a user admin permissions, see the is_administrator user flag.

## Other responses

- `400` — Bad request - no name, email, or password was specified.
- `401` — Unauthorized. Sent if the API key is omitted or invalid.

---

[API](https://skmtc.net/textrequest/apis/text-request-api-v3.md) · [All operations](https://skmtc.net/textrequest/apis/text-request-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/textrequest/text-request-api-v3/revisions/e4e42efcd650/schema)
