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

# POST /users

`POST /users`

This endpoint allows users to create a user in the account. The created user will be in pending state and a verification email will be sent to the user. Once approved, the newly created user will be in active state and will be able to be used.

## Request body

- ApiAddUser
  - `firstName` string, required — First name of the user.
  - `lastName` string, required — Last name of the user.
  - `email` string, email, required — This email is used for login.
  - `permissions` Permissions
    - `administrator` boolean — All permissions are enabled - create, delete, edit, and view access to all accounts and user settings, bridges, cameras, layouts, audit log and archive.
    - `editAccounts` boolean — Edit Control, Days, Security, Camera, Alerts, Notifications, Privacy, Sharing, Responders, Default retentions, and camera resolution settings.
    - `layoutAdministrator` boolean — Create, delete and edit any accessible layouts. All user layouts are visible to admin users.
    - `createLayouts` boolean — Ability to create layouts and edit the layouts created. This does not grant permission to edit layouts created by other users.
    - `editNoBillingDeviceSettings` boolean — Edit Camera Settings except for Cloud Retention and Full Video Resolution. Cannot add or delete cameras. Edit existing Analytics. Cannot add or delete Analytics.
    - `turnCamerasOnOff` boolean — Turn Cameras on/off. Cameras off cannot be recorded.
    - `editMotionAreas` boolean — Edit Motion Settings. Set object size and sensitivity, add/delete regions, add/delete alerts for regions. Edit existing Analytics. Set object size and sensitivity, add/delete alerts.
    - `editAllCameraSettings` boolean — Editing all Camera Settings. Cannot add or delete cameras.
    - `editUsers` boolean — Create, delete and edit non-admin users in an end user account.
    - `upgradeEdition` boolean — Upgrade current edition subscription to a higher level edition.
    - `addEditBridgesCameras` boolean — Create, delete, edit, and view Bridges and Cameras. This is the only permission for a non-admin to be able to add and view bridges in an end user account.
    - `editSharing` boolean — Edit Sharing and Responders settings.
    - `controlPTZ` boolean — Control Pan, Tilt, Zoom, & recall stations while viewing a preview or live video of PTZ cameras.
    - `editPTZStations` boolean — Edit PTZ Settings. Set PTZ mode and create, delete, edit stations.
    - `addEditSpeakers` boolean — Add speakers, edit speaker settings, delete speakers.
    - `editSpeakers` boolean — Edit speaker settings. Cannot add or delete speakers.
    - `viewLiveVideo` boolean — View full resolution video live.
    - `viewHistoricVideo` boolean — View history browser and historic video.
    - `downloadVideo` boolean — Download preview and full resolution video.
    - `viewPreviewVideo` boolean — View preview images from cameras.
    - `talkDown` boolean — Allows the users to initiate Talk Down to the camera field(s) of view.
    - `editMap` boolean — Add and edit floors, lines, shapes, and cameras on the map.
    - `viewAuditLog` boolean — View Audit Log and download reports from it.
    - `viewArchive` boolean — View all files and folders within the Archive.
    - `editArchive` boolean — Save videos to Archive - delete, edit, and view files and folders within the Archive.
    - `viewPlugins` boolean — View all Plugins.
    - `editPlugins` boolean — Add and remove plugins.
    - `exportUsers` boolean — Export a list of account users in .csv format.
    - `viewVSP` boolean — User access to view vehicle data, search vehicle across camera & location, set rules, and alert.
    - `editResellerUsers` boolean — Create, delete and edit reseller user who is not an Admin.
    - `editAdminUsers` boolean — Create, delete and edit admin and non-admin users in an end user account. Give access to bridges, cameras, and layouts. Create new end user accounts and give access to them.
    - `viewContract` boolean — View recordings, search, and create new recordings.
    - `addRemovePayment` boolean — Add and remove payment methods.
    - `viewInvoice` boolean — View and download invoices.
    - `placeOrders` boolean — Add products to the shopping cart and place orders.
    - `viewShipments` boolean — View the status of shipments.
    - `viewPricingInformation` boolean — View pricing information.
    - `viewResellerProgramInformation` boolean — View Marketing's reseller program information.
    - `viewVSPRule` boolean — View VSP rules.
    - `editVSPRule` boolean — Edit VSP rules.
    - `viewVehicleList` boolean — View vehicle lists.
    - `editVehicleList` boolean — Edit vehicle lists.
    - `viewAutomations` boolean — View automation alerts, rules, and actions.
    - `editAutomations` boolean — Edit automation alerts, rules, and actions.
    - `editAlertManagerRulesAndActions` boolean — Edit Automations rules and actions.
    - `viewAlertManagerRulesAndActions` boolean — View Alert Manager rules and actions.
  - `roles` string[] — List of role IDs assigned to the user. When a user is created, they can only have either roles or permissions assigned. Furthermore, the roles feature has to be enabled for the account.
  - `grantAllLayouts` boolean — Indicates whether the newly created user will inherit access to all layouts from the user who created them.
  - `grantAllCameras` boolean — Indicates whether the newly created user will inherit access to all cameras from the user who created them.
  - `grantAllLocations` boolean — Indicates whether the newly created user will inherit access to all locations from the user who created them.
  - `grantAllAccounts` boolean — Indicates whether the newly created user will inherit access to all accounts from the user who created them. It should be used only from reseller context. In case of used from the sub-account context the flag will be ignored.
  - `grantAllSpeakers` boolean — Indicates whether the newly created user will inherit access to all speakers from the user who created them.
  - `grantAllMultiCameras` boolean — Indicates whether the newly created user will inherit access to all multi cameras from the user who created them.

## Response `201`

User Created

- ApiUserMain
  - `id` string, required
  - `createTimestamp` string, date-time
  - `firstName` string, required
  - `lastName` string, required
  - `email` string, email, required — This email is used for login.
  - `accountId` string, required
  - `locationId` string, nullable — ID Of the location.
  - `language` string, required
  - `employeeId` string, nullable, required — Custom text field

## Other responses

- `400` — The supplied object is invalid. Error detail will contain the validation error.
- `401` — You are not authenticated. Please authenticate and try again.
- `403` — You have no permission to access the specified resource.
- `404` — Referenced resource could not be found.
- `409` — There was a conflict while trying to perform your request. See error details for more information.
- `500` — Something went wrong in the server. Please try again.

---

[API](https://skmtc.net/eagleeyenetworks/apis/devices.md) · [All operations](https://skmtc.net/eagleeyenetworks/apis/devices/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eagleeyenetworks/devices/revisions/df57313de545/schema)
