You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.

Forum Discussion

lyza3's avatar
lyza3
Explorer | Level 4
4 years ago

How to delete all files in a folder by API

Hi API Team,

I am using dropbox folders temporarily to upload videos to youtube. I need to clean/delete files from Dropbox files after I upload them to youtube since I don't need them anymore and to free up space in Dropbox.

1. Do you have a setting where we can set time to delete files? ex: every day, every Monday at 23:59
2. Do you have a cron job/automation/bot/software that will clean folders for example at 23:59 every day?

 

 I am able to delete individual files and folders as follows (API Doc):

curl -X POST https://api.dropboxapi.com/2/files/permanently_delete \
    --header "Authorization: Bearer " \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/Homework/math/Prime_Numbers.txt\"}"

 How to delete all files in a folder with out deleting the folder? Something like *.* for all files:

{
    "path": "/uploads/*.*"
}

 I could not interpret the path pattern - path String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")

Can you please guide me to delete all files in a folder ?

Thanks!

  • The Dropbox API does not offer a way to configure automatic deletions like this, nor does it offer a way to specify a wildcard like that or otherwise just delete everything in a particular folder without deleting the folder itself, but I'll pass this along as a feature request. I can't promise if or when that might be implemented though.

     

    Instead, you'd need to specify each item you do want to delete. Also, /2/files/permanently_delete is for permanently deleting; you can use /2/files/delete_v2 to just delete things. (Deleted items are automatically permanently deleted after a certain amount of time. You can find more information in the help center.) Also, you can use /2/files/delete_batch to delete multiple items at once (though you still need to specify each one).

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    The Dropbox API does not offer a way to configure automatic deletions like this, nor does it offer a way to specify a wildcard like that or otherwise just delete everything in a particular folder without deleting the folder itself, but I'll pass this along as a feature request. I can't promise if or when that might be implemented though.

     

    Instead, you'd need to specify each item you do want to delete. Also, /2/files/permanently_delete is for permanently deleting; you can use /2/files/delete_v2 to just delete things. (Deleted items are automatically permanently deleted after a certain amount of time. You can find more information in the help center.) Also, you can use /2/files/delete_batch to delete multiple items at once (though you still need to specify each one).

    • Kirill-TpuSoft's avatar
      Kirill-TpuSoft
      Helpful | Level 5

      Hi Greg

      I tried to call api https://api.dropboxapi.com/2/files/permanently_delete
      but received the following message:
      Error in call to API function "files/permanently_delete": Your app is not permitted to access this endpoint because it does not have the required scope 'files.permanent_delete'. The owner of the app can enable the scope for the app using the Permissions tab on the App Console.

      In the App settings of permissions this scope (files.permanent_delete) is avalaible only for Team, but the api https://api.dropboxapi.com/2/files/permanently_delete - is user endpoint. I can't enable files.permanent_delete  for the individual scopes. I can't find any way to use this api function. Thanks
      • iNeil's avatar
        iNeil
        Icon for Dropbox Engineer rankDropbox Engineer

        Kirill-TpuSoft 

        That’s correct, the /2/files/permanently_delete endpoint is only available for team-linked apps. The permanent delete API functionality is unavailable for individual user-linked apps.