Overview
An ACL (Access Control List) is a security feature used in systems (e.g., networking, file systems, databases) to define rules for what users or systems can access specific resources and what actions they can perform on them.
Key Components of an ACL in Merge's File Storage API
The permissions allowed: Read, Write, Owner
How to determine file or folder access
Fetch the file(s) or folder(s) of interest: GET /files and GET /folders
Use the permissions array: File.permissions and Folder.permissions which represents a user's or group's access to a File or Folder.
Determine Users with access provisioned individually (not via a group): “user” in the permissions object will be populated with the Merge user UUID and “type” will equal “USER”
Determine groups with access: “group” in the permissions object will be populated with the Merge group UUID and “type” will equal “GROUP”
Determine the users with access via a group. For each group in the permissions array, GET /groups/{id}. See the array of users that are members of the group: group.users. Additionally, see the array of child groups that are members of the group: group.child_groups. GET /groups/{id} to see the members of the child group. This process must be repeated until child_groups is empty
How to determine available user actions
The Merge permissions.roles array indicates the permissions that a group or user has for a file or folder: Read, Write or Owner
Considerations
Enabling webhooks allows permission changes to be reflected in real-time. This function is only supported by Google Drive and Box. For Sharepoint, OneDrive and Dropbox, permissions will be updated based on your sync frequency plan.