---
title: "Users"
method: POST
path: "/api/3/users"
tags: ["User"]
---

# Users

`POST /api/3/users`

Creates a new user.<br>**Privileges:** Global Administrator

## Request body

- UserCreateResource — The details of the user.
  - `assetGroupCount` UserEdit — The details of the user.
    - `assetGroupCount` UserEdit — recursive
    - `authentication` CreateAuthenticationSource — The details of the authentication source used to authenticate the user.
      - `id` AuthenticationSourceID — The identifier of the authentication source to use to authenticate the user. The source with the specified identifier must be of the type specified by `type`. If `id` is omitted, then one source of the specified `type` is selected.
        - `id` object
      - `type` string, required — The type of the authentication source to use to authenticate the user.
    - `email` string — The email address of the user.
    - `enabled` boolean — Whether the user account is enabled. Defaults to `true`.
    - `id` object — The identifier of the user.
    - `locale` LocalePreferences — The locale and language preferences for the user.
      - `default` string — The default language to use. The format is a <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/bcp47">IETF BCP 47</a> language tag.
      - `reports` string — The language to use to generate reports. The format is a <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/bcp47">IETF BCP 47</a> language tag.
    - `locked` boolean — Whether the user account is locked (exceeded maximum password retry attempts).
    - `login` string, required — The login name of the user.
    - `name` string, required — The full name of the user.
    - `password` string — The password to use for the user.
    - `passwordResetOnLogin` boolean — Whether to require a reset of the user's password upon first login. Defaults to `false`.
    - `role` UserCreateRole, required — The privileges and role to assign the user.
      - `allAssetGroups` boolean — Whether to grant the user access to all asset groups. Defaults to `false`.
      - `allSites` boolean — Whether to grant the user access to all sites. Defaults to `false`.
      - `id` string, required — The identifier of the role the user is assigned to.
      - `superuser` boolean — Whether the user is a superuser. Defaults to `false`.
    - `siteCount` UserEdit — recursive
  - `authentication` CreateAuthenticationSource — The details of the authentication source used to authenticate the user.
    - `id` AuthenticationSourceID — The identifier of the authentication source to use to authenticate the user. The source with the specified identifier must be of the type specified by `type`. If `id` is omitted, then one source of the specified `type` is selected.
      - `id` object
    - `type` string, required — The type of the authentication source to use to authenticate the user.
  - `email` string — The email address of the user.
  - `enabled` boolean — Whether the user account is enabled. Defaults to `true`.
  - `id` object — The identifier of the user.
  - `locale` LocalePreferences — The locale and language preferences for the user.
    - `default` string — The default language to use. The format is a <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/bcp47">IETF BCP 47</a> language tag.
    - `reports` string — The language to use to generate reports. The format is a <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/bcp47">IETF BCP 47</a> language tag.
  - `locked` boolean — Whether the user account is locked (exceeded maximum password retry attempts).
  - `login` string, required — The login name of the user.
  - `name` string, required — The full name of the user.
  - `password` string, required — The password to use for the user.
  - `passwordResetOnLogin` boolean — Whether to require a reset of the user's password upon first login. Defaults to `false`.
  - `role` UserCreateRole, required — The privileges and role to assign the user.
    - `allAssetGroups` boolean — Whether to grant the user access to all asset groups. Defaults to `false`.
    - `allSites` boolean — Whether to grant the user access to all sites. Defaults to `false`.
    - `id` string, required — The identifier of the role the user is assigned to.
    - `superuser` boolean — Whether the user is a superuser. Defaults to `false`.
  - `siteCount` UserEdit — The details of the user.
    - `assetGroupCount` UserEdit — recursive
    - `authentication` CreateAuthenticationSource — The details of the authentication source used to authenticate the user.
      - `id` AuthenticationSourceID — The identifier of the authentication source to use to authenticate the user. The source with the specified identifier must be of the type specified by `type`. If `id` is omitted, then one source of the specified `type` is selected.
        - `id` object
      - `type` string, required — The type of the authentication source to use to authenticate the user.
    - `email` string — The email address of the user.
    - `enabled` boolean — Whether the user account is enabled. Defaults to `true`.
    - `id` object — The identifier of the user.
    - `locale` LocalePreferences — The locale and language preferences for the user.
      - `default` string — The default language to use. The format is a <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/bcp47">IETF BCP 47</a> language tag.
      - `reports` string — The language to use to generate reports. The format is a <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/bcp47">IETF BCP 47</a> language tag.
    - `locked` boolean — Whether the user account is locked (exceeded maximum password retry attempts).
    - `login` string, required — The login name of the user.
    - `name` string, required — The full name of the user.
    - `password` string — The password to use for the user.
    - `passwordResetOnLogin` boolean — Whether to require a reset of the user's password upon first login. Defaults to `false`.
    - `role` UserCreateRole, required — The privileges and role to assign the user.
      - `allAssetGroups` boolean — Whether to grant the user access to all asset groups. Defaults to `false`.
      - `allSites` boolean — Whether to grant the user access to all sites. Defaults to `false`.
      - `id` string, required — The identifier of the role the user is assigned to.
      - `superuser` boolean — Whether the user is a superuser. Defaults to `false`.
    - `siteCount` UserEdit — recursive

## Response `200`

OK

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/rapid7/apis/rapid7-vm-api.md) · [All operations](https://skmtc.net/rapid7/apis/rapid7-vm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rapid7/rapid7-vm-api/versions/3a8197c22d71/schema)
