User Management

The SIM For Things System is a multi-tenancy system where tenant is an organisation.

Each organisation can have multiple users. The users of an organisation are managed by the administrator of this organisation or (possibly) the parent organisation.

  • When an organisation administrator manages own user space, setting explicitly an organisation for a user is optional. Then the organisation for the new account is inherited from the administrator user creating the account.
  • The organisation administrator may specify explicitly an organisation for a user, if the new user is to be created in a “child” (direct, not “grandchild”) organisation of this organisation.
  • The system-wide administrators (BICS) must always specify an organisation when creating a user account.

Below is a sample user in JSON representation.

{
  "id": 123,
  "username": "eabbot@flatland.org",
  "name": "Edwin Abbott",
  "created": "2014-09-27T08:03:00+0000",
  "status": {
    "id": 1,
    "description": "Active"
  },
  "organisation": {
    "id": 123,
    "name": "Company"
  },
  "roles": [
    {
      "id": 2,
      "name": "User"
    },
    {
      "id": 3,
      "name": "Observer"
    }
  ]
}
Name Type Description
id Integer Unique ID of this user
username String username - used for login, for full functionality is has to be a valid email address
name String User’s full name
created Timestamp Timestamp when this user was created - Type: ISO 8601 timestamp format
status Object id (Integer) - ID of status of this user
description (String) - Description of meaning of the status
organisation Object id (Integer) - ID of organisation
name (String) - Name of the organisation
roles List of Objects List of one or more roles
mfa List of Objects List of one or more MFA keys, if any have been created by this user