/// <summary>
        /// Uploads the given file to the File Manager
        /// Set hidden = true when using for attachments to engagements
        /// </summary>
        /// <param name="entity">The file to upload</param>
        /// <returns>The uploaded file</returns>
        public FileListHubSpotModel <FileHubSpotModel> Upload(FileHubSpotModel entity)
        {
            var path = $"{GetRoute<FileHubSpotModel>()}/files";
            var data = _client.ExecuteMultipart <FileListHubSpotModel <FileHubSpotModel> >(path, entity.File, entity.Name,
                                                                                           new Dictionary <string, string>()
            {
                { "overwrite", entity.Overwrite.ToString() },
                { "hidden", entity.Hidden.ToString() },
                { "folder_paths", entity.FolderPaths }
            });

            return(data);
        }
        /// <summary>
        /// Uploads the given file to the File Manager
        /// Set hidden = true when using for attachments to engagements
        /// </summary>
        /// <param name="entity">The file to upload</param>
        /// <returns>The uploaded file</returns>
        public FileListHubSpotModel <T> Upload <T>(FileHubSpotModel entity) where T : FileHubSpotModel, new()
        {
            var path = $"{new FileHubSpotModel().RouteBasePath}/files";
            var data = _client.ExecuteMultipart <FileListHubSpotModel <T> >(path, entity.File, entity.Name,
                                                                            new Dictionary <string, string>()
            {
                { "overwrite", entity.Overwrite.ToString() },
                { "hidden", entity.Hidden.ToString() },
                { "folder_paths", entity.FolderPaths }
            });

            return(data);
        }