cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox 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?