Chapter 10. Users Administration API

10.1. Requirements

The user must be a member of one or more teams with the following permissions:

  • Reseller

    • Adminisration (View & Edit)

OR

  • Customer

    • Administration (View & Edit)

For more information on Permissions, see Teams & Collaborations.

10.2. Create User

10.2.1. Description

Create a new user belonging to the specified customer.

10.2.2. Endpoint

  • uri - /box/srv/1.1/admin/user/create
  • method - POST

10.2.3. Request Body

{
  // required
  "username": "unqiue user identifier",
  // optional, default is a randomly generated password
  // Useful to leave as default if User is to be sent an activation email,
  // allowing them to set the password as required upon activation
  "password": "<password>",
  //optional
  "email": "<email>",
  //optional
  "name": "<name>",
  // optional, default is ""
  // comma separated list of roles to assign new user
  "roles": "<roles>",
  // optional, default is ""
  // comma separated list of Auth policy guids to assign new user
  "authpolicies": "<authpolicies>",
  // optional, default is false
  // whether or not an activation invite email should be sent to the user
  "invite": false
}

10.2.4. Response Body

10.2.4.1. Success

{
  "status": "ok",
  "username": "<user_name>"
}

10.2.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.3. Update User

10.3.1. Description

Update an existing user belonging to the specified customer.

10.3.2. Endpoint

  • uri - /box/srv/1.1/admin/user/update
  • method - POST

10.3.3. Request Body

{
  //required, and it can not be changed
  "username": "<unique user identifier>",
  // all fields are optional
  // email address of user to update
  "email": "<email>",
  "name": "<name>",
  "password": "<password>",
  //user won't be able to login if this is set to true
  "enabled": false,
  //if this is set to true, if will return a special flag next time the user logged in,
  //this flag can be used to delete application data on the device
  "blacklisted": false,
  // comma separated list of roles to set for this user for example, 'dev, analytics'
  "roles": "<roles>",
  // comma separated list of Auth policy guids to set for this user
  "authpolicies": "<authpolicies>"
}

10.3.4. Response Body

10.3.4.1. Success

Note

The teams field is only available if Teams is enabled on the Platform. To view the JSON Team Definition, click here.

{
  "status": "ok",
  "fields": {
    "username": "<unique user identifier>",
    "email": "<email>",
    "name": "<name>",
    "enabled": false,
    "blacklisted": false,
    "roles": "<roles>",
    //An Array of JSON Team Definitions the User is a Member of.
    //Note: This is only included if Teams is enabled for the User.
     "teams": ["<JSON Team Definition>"]
  }
}

10.3.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.4. Delete User

10.4.1. Description

Delete a user. The user must not have any Apps, otherwise the deletion will fail.

10.4.2. Endpoint

  • uri - /box/srv/1.1/admin/user/delete
  • method - POST

10.4.3. Request Body

{
  // required
  // username of user to delete
  "username": "<unique user identifier>",
}

10.4.4. Response Body

10.4.4.1. Success

{
  "status": "ok",
  "fields": {
    "username": "<unique user identifier>",
    "email": "<email>",
    "name": "<name>",
    "enabled": false,
    "blacklisted": false,
    "roles": "<roles>",
    "authpolicies": "<authpolicies>"
  }
}

10.4.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.5. Read User

10.5.1. Description

Read a user information based on the user name.

10.5.2. Endpoint

  • uri - /box/srv/1.1/admin/user/read
  • method - POST

10.5.3. Request Body

{
  // required
  // user name of the user to delete
  "username": "<unique user identifier>",
}

10.5.4. Response Body

{
  "status": "ok",
  "fields": {
    "username": "<unique user identifier>",
    "email": "<email>",
    "name": "<name>",
    "enabled": false,
    "blacklisted": false,
    "roles": [<an array of role string>],
    "authpolicies": [<an array of Auth policy guids>],
    "lastLogin" : "<timestamp of last login>"
  }
}

10.5.4.1. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.6. List Users

10.6.1. Description

List users.

10.6.2. Endpoint

  • uri - /box/srv/1.1/admin/user/list
  • method - POST

10.6.3. Request Body

{}

10.6.4. Response Body

10.6.4.1. Success

{
  "status": "ok",
  "count": "<users total count>",
  "list": [{
    "fields": {
      "username": "<unique user identifier>",
      "email": "<email>",
      "name": "<name>",
      "enabled": false,
      "blacklisted": false,
      "authpolicies": [<an array of Auth policy guids>],
      "lastLogin" : "<timestamp of last login>"
    }
  }, ...]
}

10.6.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.7. Enable/Disable User

10.7.1. Description

Enable/disable an existing user.

10.7.2. Endpoint

  • uri - /box/srv/1.1/admin/user/update
  • method - POST

10.7.3. Request Body

{
  // required
  // username of user to update
  "username": "<unique user identifier>",
  "enabled": true/false
}

10.7.4. Response Body

10.7.4.1. Success

{
  "status": "ok",
  "fields": {
    "username": "<unique user identifier>",
    "email": "<email>",
    "name": "<name>",
    "enabled": false,
    "blacklisted": false,
    "roles": [<an array of string>],
    "authpolicies": [<an array of Auth policy guids>]
  }
}

10.7.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.8. Add/Remove Roles

10.8.1. Description

Add new roles or remove existing roles of a user.

10.8.2. Endpoint

  • uri - /box/srv/1.1/admin/user/update
  • method - POST

10.8.3. Request Body

{
  // required
  // username of the user to update
  "username": "<unique user identifier>",
  // comma separated list of roles to set for this user for example, 'dev, analytics'
  "roles": "<roles>"
}

10.8.4. Response Body

10.8.4.1. Success

{
  "status": "ok",
  "fields": {
    "username": "<unique user identifier>",
    "email": "<email>",
    "name": "<name>",
    "enabled": false,
    "blacklisted": false,
    "roles": [<an array of string>],
    "authpolicies": [<an array of Auth policy guids>]
  }
}

10.8.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.9. Add/Remove Auth Policies

10.9.1. Description

Add new Auth policies to or remove existing Auth policies from a user.

10.9.2. Endpoint

  • uri - /box/srv/1.1/admin/user/update
  • method - POST

10.9.3. Request Body

{
  // required
  // username of the user to update
  "username": "<unique user identifier>",
  // comma separated list of Auth policy guids to set for this user
  "authpolicies": "<authpolicies>"
}

10.9.4. Response Body

10.9.4.1. Success

{
  "status": "ok",
  "fields": {
    "username": "<unique user identifier>",
    "email": "<email>",
    "name": "<name>",
    "enabled": false,
    "blacklisted": false,
    "roles": [<an array of string>],
    "authpolicies": [<an array of Auth policy guids>]
  }
}

10.9.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.10. List a user’s devices

10.10.1. Description

List a user’s devices.

10.10.2. Endpoint

  • uri - /box/srv/1.1/admin/user/listdevices
  • method - POST

10.10.3. Request Body

{
  //required
  "username": "<unique user identifier>"
}

10.10.4. Response Body

10.10.4.1. Success

{
  "status" : "ok",
  "list" : [{
      "guid" : "<device guid>",
      "cuid" : "<device id>",
      "name" : "<devicel lable>",
      "disabled" : "<is the device disabled>",
      "blacklisted" : "<is the device blacklisted>"
    }, ...]
}

10.10.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}

10.11. List a user’s store items

10.11.1. Description

List a user’s apps he/she has installed (But the app maybe deleted).

10.11.2. Endpoint

  • uri - /box/srv/1.1/admin/user/liststoreitems
  • method - POST

10.11.3. Request Body

{
  //required
  "username" : "<unique user identifier>"
}

10.11.4. Response Body

10.11.4.1. Success

{
  "status" : "ok",
  "list" : [{
      "guid" : "<app guid>",
      "name" : "<app name>",
      "description" : "<app description>"
    }, ...]
}

10.11.4.2. Error

{
  "status": "error",
  "message": "<error_message>"
}