LiquidFiles Documentation

Group Admin API

The Admin User API will enable you to add, delete and update users on the LiquidFiles system.

Available Attributes

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

id                           # String.  The unique ID of the group.
name                         # String.  The name of the group.
quota                        # Integer. The quota for the entire group (in MB).
user_quota                   # Integer. The quota for each user in this group (in MB).
is_sysadmin                  # Boolean. True if the users in this group are Sysadmins.
is_domain_admin              # Boolean. True if the users in this group are Domain Admins.
is_admin                     # Boolean. True if the users in this group are Admins.
is_user_admin                # Boolean. True if the users in this group are User Admins.
is_local                     # Boolean. True if the users in this group are Local Users.
strong_auth                  # Boolean. True if the users in this group should be authenticated with Strong Authentication.
password_expires_after       # Integer. Number of days passwords expire after.
match_ldap_groups            # String.  A comma separated list of LDAP groups users in this group should be matched to.
match_domains                # String.  A comma separated list of email domains that users in this group should be matched to.
message_recipient_pattern_match # String. A regular expression of required email recipients
message_recipient_pattern_block # String. A regular expression of blocked email recipients
message_recipient_block_domains # String. A comma seaprated list of blocked email domains
limit_networks               # String.  A comma separated list of IP networks users in this group are restricted to login from.
can_invite_users             # Boolean. True if users in this group can invite other users.
delete_inactive_users        # Integer. Delete inactive users after this many days.
max_file_size                # Integer. The maximum file size (in MB).
block_extensions             # String.  A comma separated list of blocked file extensions.
limit_extensions             # String.  A comma separated list of file extensions that users will be restricted to using.
created_at                   # DateTime When this group was created.


enable_send_messages         # Boolean. True if users in this group should be able to send messages.
can_send_to_local_users      # Boolean. True if users should be able to send to local users (only meaningful if this group
                             #          is for non-local users).
message_can_send_to_local_users_only # Boolean. True if users can only send to local users. Always False for Local Users.
                             #          Default True for External Users.
recipient_domains            # String.  Comma separated list of email domains that users in this group can only send to.
default_expiration           # Integer. The default message expiration (in days).
max_expiration               # Integer. The maximum message expiration (in days).
default_permission           # Integer. The default permission when sending a message. The following values applies:
                             #          0: Anyone can download
                             #          1: Anyone can download after authentication
                             #          2: Specified Recipients and local users can download
                             #          3: Only Specified Recipients can download
                             #          4: Specified Recipients and Recipient Domains can download
use_specified                # Boolean. If true, users in this group can select to send messages with the permission
                             #          that only specified recipients can access and download.
use_specified_and_domains    # Boolean. Same as above for specified recipients and local domains.
use_anyone_with_auth         # Boolean. Same as above for anyone after authentication.
use_anyone                   # Boolean. Same as above for no authentication.
can_change_permission        # Boolean. If true, users in this group can change message download permissions.
can_change_expiration        # Boolean. If true, users in this group can change message expiration.
                             #          If false, the default expiration above will be used.
max_expires_after            # Integer. The maximum expires after that can be set for messages.
can_change_expires_after     # Boolean. If true, users in this group can change expires after.
                             #          If false, the max expires after will be used.
bcc_myself                   # Boolean. If true, users will be BCC'd on any messages sent.
can_change_bcc_myself        # Boolean. If true, users can enable or disable if they should be BCC'd.
send_receipts                # Boolean. If true, users will be sent download receipts.
can_change_private_message   # Boolean. If true, users can send private messages.
default_private_message      # Boolean. If true, private messages will be enabled on default.


has_filedrop                 # Boolean. If true, users in this group have access to Filedrops with random strings.
has_filedrop_email           # Boolean. If true, users in this group have access to Filedrops with their email address.
filedrop_permission          # Integer. Determines who has permission to download messages sent through users Filedrop:
                             #          2: Specified Recipients and local users can download
                             #          3: Only Specified Recipients can download
filedrop_expiration          # Integer. How many days a message sent through a User Filedrop before it expires.


enable_file_request          # Boolean. True if users in this group should have access to File Requests.
file_request_expiration      # Integer. How many days a recipient of a File Request has to respond.
file_request_expire_download # Integer. How many days after a response that the sender has to download the requested file.
file_request_permission      # Integer. Same values as default_permission
file_request_multiuse        # Boolean. True if users in this group has file request multiuse enabled on default
file_request_multiuse_can_change # Boolean. True if users in this group can change file request multiuse
file_request_max_expiration  # Integer. The Max number of days users in this group can set file requests to
file_request_can_change_expiration # Boolean. True if users in this group can change expiration

enable_filelink              # Boolean. If users in this gorup should have access to FileLinks.
filelink_default_expiration  # Integer. How long FileLinks are available on default (in days).
filelink_max_expiration      # Integer. The maximum FileLink expiration that can be set (in days).
filelink_default_require_authentication     # Boolean. If true, FileLinks will require authentication on default.
filelink_can_change_require_authentication  # Boolean. If true, users can change if authentication is required or not.
filelink_can_use_password    # Boolean. True if users in this group can use passwords for FileLinks
filelink_default_download_confirmation # Boolean. True if users in this group should receive download confirmation on default
filelink_can_change_download_confirmation # Boolean. True if users in this group can change download confirmation

enable_api                   # Boolean. True if users in this group should have access to the API.
api_enable_send_folders      # Boolean. True if folders should be selectable in the Outlook plugin.
api_size_override            # Integer. The size at which the Outlook plugin should automatically use LiquidFiles (in MB).
api_can_override_size_limit  # Boolean. True if users should be able to override the size limit in the Outlook plugin.
api_custom_settings          # String.  Any custom settings you want to send.

message_delivery_action      # String.  The actionscript used for delivery actions
message_parameter_action     # String.  The actionscript used for message parameters


admin_access_data_log        # Boolean. True if this is an administrator group and administrators in this group
                             #          should have user data accessed logged.

List Groups

Request

Request URL: /admin/groups
Request VERB: GET

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

Example using curl:

curl -s -X GET --user "37DeYIkmDoQcsl3eEl2lE2:x" -H "Accept: application/json" -H "Content-Type: application/json" https://liquidfiles.company.com/admin/groups
[
  {"group":
    {
      "id": "sysadmins",
      "name": "Sysadmins",
      "quota": 1000,
      "user_quota": 0,
      "max_file_size": ,
      "default_expiration": 30,
      "max_expiration": 180,
      "default_permission": 3,
      "delete_inactive_users": 0,
      "use_specified": true,
      "use_specified_and_domains": true,
      "use_anyone_with_auth": true,
      "use_anyone": true,
      "can_change_permission": true,
      "can_change_expiration": true,
      "max_expires_after": 0,
      "can_change_expires_after": true,
      "has_filedrop": true,
      "has_filedrop_email": true,
      "filedrop_permission": 3,
      "file_request_expire_download": 14,
      "filedrop_expiration": 14,
      "enable_api": true,
      "api_custom_settings": "",
      "api_enable_send_folders": false,
      "api_can_override_size_limit": true,
      "api_size_override": 10,
      "can_send_to_local_users": true,
      "is_sysadmin": true,
      "is_domain_admin": true,
      "is_admin": true,
      "is_user_admin": false,
      "is_local": true,
      "strong_auth": false,
      "enable_send_messages": true,
      "match_ldap_groups": "",
      "match_domains": "",
      "recipient_domains": "",
      "limit_networks": "",
      "bcc_myself": true,
      "can_change_bcc_myself": true,
      "send_receipts": true,
      "file_request_expiration": 14,
      "file_request_permission": 3,
      "enable_file_request": true,
      "can_invite_users": true,
      "filelink_can_change_require_authentication": true,
      "filelink_default_require_authentication": true,
      "filelink_max_expiration": 180,
      "filelink_default_expiration": false,
      "enable_filelink": true,
      "default_private_message": false,
      "can_change_private_message": true,
      "password_expires_after": 0,
      "block_extensions": "exe, vbs, pif, scr, bat, cmd, com, cpl",
      "limit_extensions": "",
      "created_at": "2013-11-11 02:15:44 UTC"
    }
  },
  {"group":
    {
      "id": "admins",
      "name": "Admins",
      "quota": 0,
      "user_quota": 0,
      "max_file_size": 1000,
      "default_expiration": 30,
      "max_expiration": 180,
      "default_permission": 3,
      "delete_inactive_users": 0,
      "use_specified": true,
      "use_specified_and_domains": true,
      "use_anyone_with_auth": true,
      "use_anyone": true,
      "can_change_permission": true,
      "can_change_expiration": true,
      "max_expires_after": 0,
      "can_change_expires_after": true,
      "has_filedrop": false,
      "has_filedrop_email": false,
      "filedrop_permission": 3,
      "file_request_expire_download": 14,
      "filedrop_expiration": 14,
      "enable_api": false,
      "api_custom_settings": "",
      "api_enable_send_folders": true,
      "api_can_override_size_limit": true,
      "api_size_override": 10,
      "can_send_to_local_users": true,
      "is_sysadmin": false,
      "is_domain_admin": false,
      "is_admin": true,
      "is_user_admin": false,
      "is_local": true,
      "strong_auth": false,
      "enable_send_messages": true,
      "match_ldap_groups": "",
      "match_domains": "",
      "recipient_domains": "",
      "limit_networks": "",
      "bcc_myself": true,
      "can_change_bcc_myself": true,
      "send_receipts": true,
      "file_request_expiration": 14,
      "file_request_permission": 3,
      "enable_file_request": true,
      "can_invite_users": true,
      "filelink_can_change_require_authentication": true,
      "filelink_default_require_authentication": true,
      "filelink_max_expiration": 180,
      "filelink_default_expiration": false,
      "enable_filelink": true,
      "default_private_message": false,
      "can_change_private_message": true,
      "password_expires_after": 0,
      "block_extensions": "exe, vbs, pif, scr, bat, cmd, com, cpl",
      "limit_extensions": "",
      "created_at": "2013-11-11 02:15:44 UTC"
    }
  }
]

Only the first two groups are listed here as the output is fairly long.

View Group

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

Request

Request URL: /admin/groups/_the_group_ID_
Request VERB: GET

Example using curl:

curl -s -X GET --user "37DeYIkmDoQcsl3eEl2lE2:x" -H "Accept: application/json" -H "Content-Type: application/json" https://liquidfiles.company.com/admin/groups/local-users
{"group":
    {
      "id": "local-users",
      "name": "Local Users",
      "quota": 0,
      "user_quota": 0,
      "max_file_size": 1000,
      "default_expiration": 30,
      "max_expiration": 180,
      "default_permission": 3,
      "delete_inactive_users": 0,
      "use_specified": true,
      "use_specified_and_domains": true,
      "use_anyone_with_auth": true,
      "use_anyone": true,
      "can_change_permission": true,
      "can_change_expiration": true,
      "max_expires_after": 0,
      "can_change_expires_after": true,
      "has_filedrop": true,
      "has_filedrop_email": true,
      "filedrop_permission": 3,
      "file_request_expire_download": 14,
      "filedrop_expiration": 14,
      "enable_api": false,
      "api_custom_settings": "",
      "api_enable_send_folders": false,
      "api_can_override_size_limit": false,
      "api_size_override": 10,
      "can_send_to_local_users": true,
      "is_sysadmin": false,
      "is_domain_admin": false,
      "is_admin": false,
      "is_user_admin": false,
      "is_local": true,
      "strong_auth": false,
      "enable_send_messages": true,
      "match_ldap_groups": "",
      "match_domains": "",
      "recipient_domains": "",
      "limit_networks": "",
      "bcc_myself": true,
      "can_change_bcc_myself": true,
      "send_receipts": true,
      "file_request_expiration": 14,
      "file_request_permission": 3,
      "enable_file_request": true,
      "can_invite_users": true,
      "filelink_can_change_require_authentication": true,
      "filelink_default_require_authentication": true,
      "filelink_max_expiration": 180,
      "filelink_default_expiration": false,
      "enable_filelink": true,
      "default_private_message": false,
      "can_change_private_message": true,
      "password_expires_after": 0,
      "block_extensions": "exe, vbs, pif, scr, bat, cmd, com, cpl",
      "limit_extensions": "",
      "created_at": "2013-11-11 02:15:44 UTC"
    }
  }

Create Group

Request

Request URL: /admin/groups
Request VERB: POST
  Parameters:
    group:
      name:               # String.  The name of the group.
Please see the attributes above for a list of other attributes to set. The name is the only required parameter, all others are optional.

The response will be the group similar to the view group above.

Example using curl:

cat <<EOF | curl -s -X POST --user "37DeYIkmDoQcsl3eEl2lE2:x" -H "Accept: application/json" -H "Content-Type: application/json" -d @- https://liquidfiles.company.com/admin/groups
{"group":
  {
    "name": "Partner Group 1",
    "is_local": false,
    "recipient_domains": "company.com"
  }
}
EOF
{"group":
  {
    "id": "partner-group-1",
    "name": "Partner Group 1",
    "quota": 0,
    "user_quota": 0,
    "max_file_size": 1000,
    "default_expiration": 30,
    "max_expiration": 180,
    "default_permission": 3,
    "delete_inactive_users": 0,
    "use_specified": true,
    "use_specified_and_domains": true,
    "use_anyone_with_auth": true,
    "use_anyone": true,
    "can_change_permission": true,
    "can_change_expiration": true,
    "max_expires_after": 0,
    "can_change_expires_after": true,
    "has_filedrop": false,
    "has_filedrop_email": false,
    "filedrop_permission": 3,
    "file_request_expire_download": 14,
    "filedrop_expiration": 14,
    "enable_api": false,
    "api_custom_settings": "",
    "api_enable_send_folders": true,
    "api_can_override_size_limit": true,
    "api_size_override": 10,
    "can_send_to_local_users": true,
    "is_sysadmin": false,
    "is_domain_admin": false,
    "is_admin": false,
    "is_user_admin": false,
    "is_local": false,
    "strong_auth": false,
    "enable_send_messages": true,
    "match_ldap_groups": "",
    "match_domains": "",
    "recipient_domains": "company.com",
    "limit_networks": "",
    "bcc_myself": true,
    "can_change_bcc_myself": true,
    "send_receipts": true,
    "file_request_expiration": 14,
    "file_request_permission": 3,
    "enable_file_request": false,
    "can_invite_users": false,
    "filelink_can_change_require_authentication": true,
    "filelink_default_require_authentication": true,
    "filelink_max_expiration": 180,
    "filelink_default_expiration": false,
    "enable_filelink": false,
    "default_private_message": false,
    "can_change_private_message": true,
    "password_expires_after": 0,
    "block_extensions": "",
    "limit_extensions": "",
    "created_at": "2014-09-02 19:35:15 +1000"
  }
}

Update Group

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

Request

Request URL: /admin/groups/_the_group_ID_
Request VERB: PUT
  Parameters:
    group:
Please see the attributes above for a list of other attributes to set.

Example using curl:

cat <<EOF | curl -s -X PUT --user "37DeYIkmDoQcsl3eEl2lE2:x" -H "Accept: application/json" -H "Content-Type: application/json" -d @- https://liquidfiles.company.com/admin/groups/partner-group-1
{"group":
  {
    "recipient_domains": "company.com, other_internal_domain.com"
}
}
EOF
{"group": { "id": "partner-group-1", "name": "Partner Group 1", "quota": 0, "user_quota": 0, "max_file_size": 1000, "default_expiration": 30, "max_expiration": 180, "default_permission": 3, "delete_inactive_users": 0, "use_specified": true, "use_specified_and_domains": true, "use_anyone_with_auth": true, "use_anyone": true, "can_change_permission": true, "can_change_expiration": true, "max_expires_after": 0, "can_change_expires_after": true, "has_filedrop": false, "has_filedrop_email": false, "filedrop_permission": 3, "file_request_expire_download": 14, "filedrop_expiration": 14, "enable_api": false, "api_custom_settings": "", "api_enable_send_folders": true, "api_can_override_size_limit": true, "api_size_override": 10, "can_send_to_local_users": true, "is_sysadmin": false, "is_domain_admin": false, "is_admin": false, "is_user_admin": false, "is_local": false, "strong_auth": false, "enable_send_messages": true, "match_ldap_groups": "", "match_domains": "", "recipient_domains": "company.com, other_internal_domain.com", "limit_networks": "", "bcc_myself": true, "can_change_bcc_myself": true, "send_receipts": true, "file_request_expiration": 14, "file_request_permission": 3, "enable_file_request": false, "can_invite_users": false, "filelink_can_change_require_authentication": true, "filelink_default_require_authentication": true, "filelink_max_expiration": 180, "filelink_default_expiration": false, "enable_filelink": false, "default_private_message": false, "can_change_private_message": true, "password_expires_after": 0, "block_extensions": "", "limit_extensions": "", "created_at": "2014-09-02 19:35:15 +1000" } }

Delete Group

Request

Request URL: /admin/groups/_the_group_ID_
Request VERB: DELETE

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

Example using curl:

curl -s -X DELETE --user "ayFlT3BNx1OXxiZcM4h5Tl:x" -H "Accept: application/json" -H "Content-Type: application/json" https://liquidfiles.company.com/admin/groups/partner-group-1