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.
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:
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