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

rk90's avatar
rk90
Helpful | Level 5
6 years ago

Getting 409 error when calling list_folder on empty folder

I have been consistently getting 409 errors on some empty team folders. I am using Dropbox-Select-API-Admin header and listing team folders recursively. I am using the path to list those folders, that is if my team folder name is 'team folder', I use '/team folder' as path. It works on folders that is not empty (works on some empty folders too), but there are a few folders where the call fails with 409 error.

Here's the full response including the response headers.

409 Client Error: Conflict for url: https://api.dropboxapi.com/2/files/list_folder: {"error_summary": "path/not_found/.", "error": {".tag": "path", "path": {".tag": "not_found"}}}: {'Server': 'nginx', 'Date': 'Sat, 02 Mar 2019 00:09:24 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Content-Security-Policy': "sandbox; frame-ancestors 'none'", 'X-Dropbox-Request-Id': 'acc37d6f010a3d47a878e8c7c370ceb0', 'X-Frame-Options': 'DENY', 'X-Content-Type-Options': 'nosniff', 'Content-Disposition': "attachment; filename='error'"}

 

If I use namespace_id to list the folders, then I don't get any errors and the empty folders list fine, but the problem with namespace call is that paths do not return in response. If I use the path root header, then paths are returned but they are relative (that is paths in response do not start with '/team folder/sub-folder' rather '/sub-folder'). The purpose the folder walk is to extract each folder/file path.

  • If you're signed in to the Dropbox web site as that user, for instance, you wouldn't see the "Product Management" team folder listed in the user's file listing on https://www.dropbox.com/home . You would see it listed on the team's admin console on https://www.dropbox.com/team/admin/team_folders/home though. You could then use the "Manage" button to add a group to it. Once a group is added, if the user is a member of that group, it would be mounted for that user and so listed on https://www.dropbox.com/home .

    Likewise, via the API, you can add a group using the /2/sharing/add_folder_member endpoint, like this:

    curl -X POST https://api.dropboxapi.com/2/sharing/add_folder_member \
        --header "Authorization: Bearer <ACCESS TOKEN>" \
        --header "Dropbox-API-Select-Admin: <ADMIN TEAM MEMBER ID>" \
        --header "Content-Type: application/json" \
        --data "{\"shared_folder_id\": \"<TEAM FOLDER ID>\",\"members\": [{\"member\": {\".tag\": \"dropbox_id\",\"dropbox_id\": \"<GROUP ID>\"}}]}"
    
  • rk90's avatar
    rk90
    Helpful | Level 5

    And my other question is about include_mounted_folders param. How does it work? I know if I set it to false when listing team member's folders, then I am only going to get unshared folders (i.e. no app/team/shared folders), but how it does it behave when I set it to false when listing team folders? For example, a team folder may contain folders that have been shared so they appear as a shared folder in namespace. Now when I list the team folder with `include_mounted_folders` set as False, wouldn't I get the shared folders and their contents in response?

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

    Regarding the unexpected 409 errors, can you share the full request and response, including parameter values? I can't offer much insight about these errors without seeing the requests as well, since it seems to vary by folder. Be sure to redact the access token of course. Namespace IDs and paths are safe to include since they don't enable access to any data. Please open an API ticket if you'd prefer to share privately though.

    Regarding your 'include_mounted_folders' question, if that parameter is set to False, the result will exclude "entries under mounted folders". By default, the contents of team folders, including any normal folders under the team folder, are not "mounted", so the contents of normal sub-folders would not be excluded. If the sub-folder of a team folder has been shared though, it is "mounted", and so the shared sub-folder's contents will be excluded.

    • rk90's avatar
      rk90
      Helpful | Level 5

      Greg,

      There is a team folder called 'Product Management', I make the following curl and get 409.

      curl -X POST -H "Authorization: Bearer <access_token>" -H "Dropbox-API-Select-Admin: <team_member_id of a team admin>" --data '{"path": "/Product Management"}' https://api.dropbox.com/2/files/list_folder

      Response:

      {"error_summary": "path/not_found/.", "error": {".tag": "path", "path": {".tag": "not_found"}}}

       

      I then make the same curl, but this time I use namespace_id as path and folder lists fine even though it's empty.

      curl -X POST -H "Authorization: Bearer <access_token>" -H "Dropbox-API-Select-Admin: <team_member_id of a team admin>" --data '{"path": "ns:<namespace_id>"}' https://api.dropbox.com/2/files/list_folder

       

      I have provided the response header of the failed request in my first post, it contains request-id which I believe you can use to check why the request failed.

       

       

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

        Thanks! That's helpful. The "Product Management" team folder can't be found at the path "/Product Management" because that team folder is not mounted in that account (and so does not have a path).

        It can still be accessed by namespace ID since it does exist and is owned by the team though.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

5,910 PostsLatest Activity: 4 days ago
333 Following

If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.

For more info on available support options for your Dropbox plan, see this article.

If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!