cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
What’s new: end-to-end encryption, Replay and Dash updates. Find out more about these updates, new features and more here.

Discuss Dropbox Developer & API

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Re: How to delete all files in a folder by API

How to delete all files in a folder by API

lyza3
Explorer | Level 4
Go to solution

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!

1 Accepted Solution

Accepted Solutions

Greg-DB
Dropbox Staff
Go to solution

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

View solution in original post

6 Replies 6

Greg-DB
Dropbox Staff
Go to solution

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

Здравко
Legendary | Level 20

@iNeil, In general permanent deletion is available for all users (including personal). Why does API behave different at all? 🤔 Isn't it some sort of oversight?

Greg-DB
Dropbox Staff

We don't have information to share on the decisions behind the design of any particular endpoint/scope on the API, but this is the expected behavior for this endpoint and scope.

Kirill-TpuSoft
Helpful | Level 5

Thanks a lot for fast support, got it 
Im Sorry,  I inadvertently didn't notice that the documentation included the following text: “Note: This endpoint is only available for Dropbox Business apps.”

Need more support?