LiquidFiles Documentation
LiquidFiles Documentation

User Admin API

Available Attributes

The following attributes are available when you're accessing a user:

Availabale Attributes
Parameter Type Description
id String The users unique ID
email String The users email address
group String The users group ID
max_file_size Integer If set, this overrides the group parameter of maximum combined file size the user can attach to a message.
filedrop String The users random Filedrop URL if enabled. "disabled" if not.
filedrop_email String The users email Filedrop URL if enabled. "disabled" if not.
api_key String The users static api key if enabled. "disabled" if not.
ldap_authentication Boolean True if the user is authenticated with LDAP.
locale String The users locale if set.
time_zone String The users time zone if set.
strong_auth_type String Possible values:
  • no value/blank: Inherit settings from the Users Group
  • disabled: Don't require strong authentication
  • duo: Require DUO strong authentication
  • otp_enable: Permit the user to use OTP Two Factor Authentication
  • otp_require: Require the user to use OTP Two Factor Authentication
  • sms_enable: Permit the user to use SMS Two Factor Authentication
  • sms_require: Require the user to use SMS Two Factor Authentication
strong_auth_username String The users phone number for SMS Two Factor Authentication.
phone_number String The users Duo auth username if different from the email address.
delivery_action String If a delivery action has been set for this user when receiving secure messages.
last_login_at DateTime The date and time when the user last logged in.
last_login_ip String The IP address the user last used to login with.
created_at DateTime When the user was created.

List Users

Request

Request Info
Info Value
Request URL /admin/users
Request VERB GET

As a response, you will get an array of users with the attributes as listed in the available attributes section above.

Example using curl:

curl -X GET --user "37DeYIkmDoQcsl3eEl2lE2:x" \
     -H "Accept: application/json" \
     https://liquidfiles.company.com/admin/users

{"users":
  [
    {
      "id": "admin-company-com",
      "email": "admin@company.com",
      "name": "Admin User",
      "group": "sysadmins",
      "max_file_size": 0,
      "filedrop": "https://liquidfiles.company.com/filedrop/~4fggiU",
      "filedrop_email": "https://liquidfiles.company.com/filedrop/admin@company.com",
      "api_key": "37DeYIkmDoQcsl3eEl2lE2",
      "ldap_authentication": "false",
      "locale": "",
      "time_zone": "",
      "strong_auth_type": "disabled",
      "strong_auth_username": "",
      "delivery_action": "",
      "phone_number": "",
      "last_login_at": "2014-09-01 03:27:40 UTC",
      "last_login_ip": "127.0.0.1",
      "created_at": "2013-11-11 02:15:44 UTC",
      "updated_at": "2023-08-11 03:11:03 UTC"
    },
    {
      "id": "user1-company.com",
      "email": "user1@company.com",
      "name": "User 1",
      "group": "local-users",
      "max_file_size": 1000,
      "filedrop": "disabled",
      "filedrop_email": "disabled",
      "api_key": "disabled",
      "ldap_authentication": "false",
      "locale": "",
      "time_zone": "",
      "strong_auth_type": "",
      "strong_auth_username": "",
      "delivery_action": "",
      "phone_number": "",
      "last_login_at": "2014-06-20 04:58:28 UTC",
      "last_login_ip": "127.0.0.1",
      "created_at": "2014-02-18 05:37:30 UTC",
      "updated_at": "2014-02-23 05:37:30 UTC"
    }
  ]
}

View User

To view an individual user, please use the following Request:

Request

Request Info
Info Value
Request URL /admin/users/_the_users_ID_
Request VERB GET

Example using curl:

curl -X GET --user "37DeYIkmDoQcsl3eEl2lE2:x" \
     -H "Accept: application/json" \
     https://liquidfiles.company.com/admin/users/user1-company.com

{"user":
  {
    "id": "user1-company-com",
    "email": "user1@company.com",
    "name": "User 1",
    "group": "local-users",
    "max_file_size": 0,
    "filedrop": "https://liquidfiles.company.com/filedrop/~sX9oZU",
    "filedrop_email": "https://liquidfiles.company.com/filedrop/user1@company.com",
    "api_key": "disabled",
    "ldap_authentication": "false",
    "locale": "",
    "time_zone": "",
    "strong_auth_type": "",
    "strong_auth_username": "",
    "delivery_action": "",
    "phone_number": "",
    "last_login_at": "",
    "last_login_ip": "",
    "created_at": "2014-09-01 03:54:10 UTC",
    "updated_at": "2023-08-29 02:19:44 UTC"
  }
}

Create User

Request

Request Info
Info Value
Request URL /admin/users
Request VERB POST

In addition to the Attributes listed above, you can also add the following parameters when creating users.

Request Parameters
Parameter Type Description
send_password_request Boolean (optional) If set the True the user will receive an email requesting them to set their password.

As a reponse, you will receive the user object with the attributes as listed in the users attribute section above.

Example using curl:

cat <<EOF | \
  curl -X POST --user "37DeYIkmDoQcsl3eEl2lE2:x" \
       -H "Accept: application/json" \
       -H "Content-Type: application/json" \
       -d @- https://liquidfiles.company.com/admin/users

{"user":
  {
    "email": "user1@company.com",
    "name": "User 1",
    "group": "local-users"
  }
}
EOF

{"user":
  {
    "id": "user1-company-com",
    "email": "user1@company.com",
    "name": "User 1",
    "group": "local-users",
    "max_file_size": 0,
    "filedrop": "https://liquidfiles.company.com/filedrop/~sX9oZU",
    "filedrop_email": "https://liquidfiles.company.com/filedrop/user1@company.com",
    "api_key": "disabled",
    "ldap_authentication": "false",
    "locale": "",
    "time_zone": "",
    "strong_auth_type": "",
    "strong_auth_username": "",
    "delivery_action": "",
    "phone_number": "",
    "last_login_at": "",
    "last_login_ip": "",
    "created_at": "2023-09-01 03:54:10 UTC",
    "updated_at": "2023-09-01 03:54:10 UTC"
  }
}

Update User

When updating the user, you need to send the users ID that you wish to update, followed by the user attributes you want to update.

Request Info
Info Value
Request URL /admin/users/_the_users_ID_
Request VERB PUT

The response back will be the updated user attributes.

Example using curl:

cat <<EOF | \
  curl -X PUT --user "ayFlT3BNx1OXxiZcM4h5Tl:x" \
       -H "Accept: application/json" \
       -H "Content-Type: application/json" -d @- \
       https://liquidfiles.company.com/admin/users/user1-company-com

{"user":
  {
    "name": "User 1 new",
    "group": "local-users-receive-only",
    "max_file_size": 1000
  }
}
EOF
{"user":
  {
    "id": "user1-company-com",
    "email": "user1@company.com",
    "name": "User 1 new",
    "group": "local-users-receive-only",
    "max_file_size": 1000,
    "filedrop": "https://liquidfiles.company.com/filedrop/~oly9Ch",
    "filedrop_email": "https://liquidfiles.company.com/filedrop/user1-new@company.com",
    "api_key": "disabled",
    "ldap_authentication": "false",
    "locale": "",
    "time_zone": "",
    "strong_auth_type": "",
    "strong_auth_username": "",
    "delivery_action": "",
    "phone_number": "",
    "last_login_at": "",
    "last_login_ip": "",
    "created_at": "2020-11-01 08:01:02 UTC",
    "created_at": "2023-09-01 07:09:12 UTC"
  }
}

Delete User

Request Info
Info Value
Request URL /admin/users/_the_users_ID_
Request VERB DELETE

The response will be blank, with a http status code of 200 if the user was deleted.

Example using curl:

curl -X DELETE --user "ayFlT3BNx1OXxiZcM4h5Tl:x" \
     -H "Accept: application/json" \
     https://liquidfiles.company.com/admin/users/user1-company-com