         })
     }
     
+    /**
+     Makes an already uploaded file public
+     
+     - parameter fileID: The ID of the file to change
+     - parameter token: The authorisation token to authenticate with the hat
+     - parameter userDomain: The user's HAT domain
+     - parameter successCallback: An @escaping (Bool) -> Void function to execute when the file has been made public
+     - parameter errorCallBack: An @escaping (HATError) -> Void to execute when something went wrong
+     */
+    public class func makeFilePublic(fileID: String, token: String, userDomain: String, successCallback: @escaping (Bool) -> Void, errorCallBack: @escaping (HATError) -> Void) {
+        
+        let url: String = "https://" + userDomain + "/api/v2/files/allowAccessPublic/" + fileID
+        let headers = ["X-Auth-Token" : token]
+        
+        HATNetworkHelper.AsynchronousRequest(url, method: .delete, encoding: Alamofire.URLEncoding.default, contentType: ContentType.JSON, parameters: [:], headers: headers, completion: { (r) -> Void in
+            // handle result
+            switch r {
+                
+            case .isSuccess(let isSuccess, let statusCode, _):
+                
+                if isSuccess {
+                    
+                    if statusCode == 200 {
+                        
+                        successCallback(true)
+                    } else {
+                        
+                        let message = "Server returned unexpected respone"
+                        errorCallBack(.generalError(message, statusCode, nil))
+                    }
+                } else {
+                    
+                    let message = "Server returned unexpected respone"
+                    errorCallBack(.generalError(message, statusCode, nil))
+                }
+                
+            case .error(let error, let statusCode):
+                
+                let message = "Server returned unexpected respone"
+                errorCallBack(.generalError(message, statusCode, error))
+            }
+        })
+    }
+    
+    /**
+     Makes an already uploaded file private
+     
+     - parameter fileID: The ID of the file to change
+     - parameter token: The authorisation token to authenticate with the hat
+     - parameter userDomain: The user's HAT domain
+     - parameter successCallback: An @escaping (Bool) -> Void function to execute when the file has been made private
+     - parameter errorCallBack: An @escaping (HATError) -> Void to execute when something went wrong
+     */
+    public class func makeFilePrivate(fileID: String, token: String, userDomain: String, successCallback: @escaping (Bool) -> Void, errorCallBack: @escaping (HATError) -> Void) {
+        
+        let url: String = "https://" + userDomain + "/api/v2/files/restrictAccessPublic/" + fileID
+        let headers = ["X-Auth-Token" : token]
+        
+        HATNetworkHelper.AsynchronousRequest(url, method: .delete, encoding: Alamofire.URLEncoding.default, contentType: ContentType.JSON, parameters: [:], headers: headers, completion: { (r) -> Void in
+            // handle result
+            switch r {
+                
+            case .isSuccess(let isSuccess, let statusCode, _):
+                
+                if isSuccess {
+                    
+                    if statusCode == 200 {
+                        
+                        successCallback(true)
+                    } else {
+                        
+                        let message = "Server returned unexpected respone"
+                        errorCallBack(.generalError(message, statusCode, nil))
+                    }
+                } else {
+                    
+                    let message = "Server returned unexpected respone"
+                    errorCallBack(.generalError(message, statusCode, nil))
+                }
+                
+            case .error(let error, let statusCode):
+                
+                let message = "Server returned unexpected respone"
+                errorCallBack(.generalError(message, statusCode, error))
+            }
+        })
+    }
+    
 }

     - parameter token: The authorisation token to authenticate with the hat
     - parameter userDomain: The user's HAT domain
     - parameter successCallback: An @escaping ([FileUploadObject]) -> Void function to execute when the server has returned the files we were looking for
     - parameter errorCallBack: An @escaping (HATError) -> Void t execute when something went wrong
     */
    public class func searchFiles(userDomain: String, token: String, successCallback: @escaping ([FileUploadObject]) -> Void, errorCallBack: @escaping (HATError) -> Void) {
        

     - parameter token: The authorisation token to authenticate with the hat
     - parameter userDomain: The user's HAT domain
     - parameter successCallback: An @escaping (Bool) -> Void function to execute when the file has been deleted
     - parameter errorCallBack: An @escaping (HATError) -> Void to execute when something went wrong
     */
    public class func deleteFile(fileID: String, token: String, userDomain: String, successCallback: @escaping (Bool) -> Void, errorCallBack: @escaping (HATError) -> Void) {
        
