Skip to main content

Folder API

Create new folder

POST /folder (Create new folder)
Headers
nametypedata typedescription
AuthorizationrequiredstringBearer token
Parameters
nametypedata typedescription
projectrequiredstringProject ID
namerequiredstringFolder name
parentoptionalstringParent folder ID
usersoptionalarrayArray of user IDs to share
Responses
http codecontent-typeresponse
200application/json{ err: false, data: Folder }
403application/jsonNo project permission access
Example
POST /folder
{
"project": "614aa2a260318c20a6fed424",
"name": "My Folder",
"parent": "614aa2a260318c20a6fed425",
"shared": ["userId1", "userId2"]
}

Get folder list

GET /folder (Get folder list)
Headers
nametypedata typedescription
AuthorizationrequiredstringBearer token
Query
nametypedata typedescription
projectrequiredstringProject ID
flatoptionalbooleanIf true, returns flat folder structure
Responses
http codecontent-typeresponse
200application/json{ err: false, data: Array of Folders }
403application/jsonNo project permission access
Example
GET /folder?project=614aa2a260318c20a6fed424&flat=true

Get single folder

GET /folder/:id (Get single folder)
Headers
nametypedata typedescription
AuthorizationrequiredstringBearer token
Parameters
nametypedata typedescription
idrequiredstringFolder ID
Responses
http codecontent-typeresponse
200application/json{ err: false, data: Folder }
403application/jsonFolder not found or access denied
Example
GET /folder/614aa2a260318c20a6fed425

Edit folder name

PUT /folder/:id/name (Edit folder name)
Headers
nametypedata typedescription
AuthorizationrequiredstringBearer token
Parameters
nametypedata typedescription
idrequiredstringFolder ID
namerequiredstringNew folder name
Responses
http codecontent-typeresponse
200application/json{ err: false, data: Folder }
403application/jsonFolder not found or access denied
Example
PUT /folder/614aa2a260318c20a6fed425/name
{
"name": "New Folder Name"
}

Edit folder permissions

PUT /folder/:id/permissions (Edit folder permissions)
Headers
nametypedata typedescription
AuthorizationrequiredstringBearer token
Parameters
nametypedata typedescription
idrequiredstringFolder ID
usersrequiredarrayArray of user IDs
Responses
http codecontent-typeresponse
200application/json{ err: false, data: Folder }
403application/jsonFolder not found or access denied
Example
PUT /folder/614aa2a260318c20a6fed425/permissions
{
"users": ["userId1", "userId2", "userId3"]
}

Move folder

PUT /folder/:id/move (Move folder to new parent)
Headers
nametypedata typedescription
AuthorizationrequiredstringBearer token
Parameters
nametypedata typedescription
idrequiredstringFolder ID to move (in URL)
parentIdrequiredstringNew parent folder ID (null to move to root)
keepPermissionsoptionalbooleanIf true, keep current permissions, else inherit from parent
Responses
http codecontent-typeresponse
200application/json{ err: false, data: Folder }
400application/jsonCannot move folder to its own descendant
403application/jsonFolder not found or access denied
Example
PUT /folder/614aa2a260318c20a6fed425/move
{
"parentId": "614aa2a260318c20a6fed426",
"keepPermissions": false
}
Notes
  • When keepPermissions is false (default), the moved folder will inherit permissions from its new parent
  • When moving a folder to root level (parentId: null), existing permissions are preserved
  • The operation will fail if attempting to move a folder to one of its own descendants
  • User must have access to both the folder being moved and the target parent folder
  • Moving a folder updates its updateDate field
  • Parent-child relationships are automatically maintained in both old and new parent folders

Remove folder

DELETE /folder/:id (Remove empty folder)
Headers
nametypedata typedescription
AuthorizationrequiredstringBearer token
Parameters
nametypedata typedescription
idrequiredstringFolder ID
Responses
http codecontent-typeresponse
200application/json{ err: false, data: Folder }
403application/jsonFolder not found or access denied
400application/jsonCannot remove folder with children items
Example
DELETE /folder/614aa2a260318c20a6fed425