Skip to content

User Read

To return an array of all users, call the URI http(s)://<qie_server>:<management_api_port>/user/read with the following payload:

{}

To return an array with a specific user, call the URI http(s)://<qie_server>:<management_api_port>/user/read with the following payload:

{
   "userid": "<desired user id>"
}

Base JSON Payload Definition

Node Description
userId The user id to return.

The following response is received if the user or users were found:

HTTP Status: 200

[
   {
      "userid": "<user id>",
      "enabled": true | false,
      "fullName": "<full name>",
      "email": "<email address>",
      "phone": "<phone>",
      "description": "<description>",
      "tempPassword": true | false,
      "daysPasswordValid": <number of days password valid>,
      "minPasswordStrength": "NONE" | "WEAK" | "MEDIUM" | "STRONG",
      "lockTimeout": < lock timeout>,
      "logoutTimeout": < logout timeout>,
      "passwordChangedDate": {
         "year": <year>,
         "month": <month>,
         "day": <day>
      },
      "invalidLoginAttempts": <invalid login attempts>,
      "lockedDueToInvalidLoginAttempts": true | false,
      "lastLoginTimstamp": <last login timestamp>,
      "createdTimestamp": <created timestamp>,
      "createdByUserid": "<created by user id>",
      "modifiedTimestamp": <modified timestamp>,
      "modifiedByUserId": "<modified by user id>",
      "administrator": true | false,
      "zonePermissions": [
         {
            "zoneId": "< zone id>",
            "error": true | false,
            "view": true | false,
            "manage": true | false,
            "edit": true | false,
            "alert": true | false
         },
         ….
      ]
   }
]
Node Description
userId The user id.
enabled True if user enabled (default=true). False if user disabled.
fullName The full name for this user.
email The email address for this user.
phone The phone for this user.
description A description for this user.
tempPassword True to make the password a temporary password which forces the user to change the password the next time they log into the system (default=false).
daysPasswordValid Specifying a value greater than 0 forces QIE users to change their password after the number of days specified. 0=always valid/never expires. The default is set in the System Administration>System Configuration.
minPasswordStrength The minimum strength required for this user's password. One of the following values (NONE | WEAK | MEDIUM | STRONG). The default is set in the System Administration>System Configuration. If the System Administration>System Configuration is set to Custom this is ignored.
lockTimeout The number of seconds before the screen locks with no activity. The default is set in the System Administration>System Configuration.
logoutTimeout The number of seconds before the user is logged out with no activity. The default is set in the System Administration>System Configuration.
passwordChangedDate The date the password was last changed. Definition in next table.
invalidLoginAttempts This option controls how many invalid login attempts can be made with a user id before the account is locked. To unlock the account, the user needs an administrator to reset the account, or the user needs to use the 'forgot password' option on the login screen (0=disabled).
lockedDueToInvalidLoginAttempts True if the user is locked due to invalidLoginAttempts (default=false).
lastLoginTimestamp The last time the user logged in.
createdTimestamp The date the user was created.
createdByUserid The user the created this user.
modifiedTimestamp The last time the user was modified.
modifiedByUserid The user that last modified this user.
administrator True means this user has System Administrator permissions, has full access to all zones and all system administration settings. System Administrators require at least medium strength password (default=false). When administrator=true only the alert permission can be set. The error, view, manage, and edit permissions, if passed, causes the request to fail.
formatOutput True if the response JSON should be formatted as human readable (default=false).
zonePermissions An array of zone permissions to manage a user's access to zones that exist in the system. If no user permissions are included in the payload definition, the user is created with no access to any zone.

Password Changed Date JSON Object Definition

Node Description
year The year the password was last changed.
month The month the password was last changed.
day The day the password was last changed.

Zone Permission JSON Object Definition

Node Description
userid The user id.
zoneId The unique zone id that this permission applies to.
error True if user is only allowed to manage errors for the specified zone (default = false). Cannot be used with the global zone (Global Settings). Cannot be used when administrator=true.
view True if user is allowed read-only access to the zone and its related resources. The user can view all zone related resources, including channel status information but they cannot manage (start, stop, pause) or edit any of the resources (default = false). Cannot be used with the global zone (Global Settings). Cannot be used when administrator=true.
manage True if user is allowed all view privileges, plus the ability to start, stop or pause enabled channels (default = false). Cannot be used with the global zone (Global Settings). Cannot be used when administrator=true.
edit True if user is allowed all view and manage privileges, plus the ability to add, edit and delete zone related resources (default = false). Can be used on any zone including the global zone (Global Settings) when administrator=false. Cannot be used on any zone when administrator=true
alert True if user with a valid email address should receive email alerts whenever warning or error conditions occur on any channels associated with the zone (default = false). Email alerts can only be sent out if the SMTP server is configured in System Administration->System Configuration. This permission can be set on all zones and when administrator is true or false.

If there is an error returning users, then the following response is received:

HTTP Status: 400

{
   "error": "<error message>"
}

Example curl command:

curl -H "apiToken:abc123" --request POST http://qieserver:9999/user/read -d '{"userid":"myUserid"}'
curl -H "apiToken:abc123" --request POST http://qieserver:9999/user/read -d "{\"userid\":\"myUserid\"}"
curl -H @{"apiToken"="abc123"} -Method POST http://qieserver:9999/user/read -Body '{"userid":"myUserid"}' | Select-Object -Expand RawContent

This option requires the Management API to be configured with a secure connection with the Manage Users option selected. See the System Administration->System Configuration->Management API dialog.