Project Folder API
1. Create Folder
http
POST `/api/{workspace_id}/projects/{project_id}/folders`Request Body
ts
type FolderNameDemoFolder = {
folder_name: string;
parent_folder_id: string; //for creating a subfolder
};Response
ts
type ProjectFolder = {
success: boolean;
message: string;
};2. Get All Folders in Project
http
GET `/api/{workspace_id}/projects/{project_id}/folders`Fetches all folders under a specific project.
Request Body
NO
Response
ts
type ProjectFolders = {
success: boolean;
message: string;
data: {
folder_id: string;
folder_name: string;
workspace_id: string;
project_id: string;
created_by: string;
parent_folder_id: null;
created_at: Date;
rank: number;
};
};3. Get Folder by ID
http
GET `/api/{workspace_id}/projects/{project_id}/folders/{folder_id}`Fetches a specific folder by its ID in the project.
Response
ts
type ProjectFolders = {
success: boolean;
message: string;
data: {
folder_id: string;
folder_name: string;
workspace_id: string;
project_id: string;
created_by: string;
parent_folder_id: null;
created_at: Date;
rank: number;
};
};4. Update Folder Name
http
PUT `/api/{workspace_id}/projects/{project_id}/folders/{folder_id}`Updates the name of a specific folder.
Request Body
ts
type ProjectFolderRename = {
folder_name: string;
};Response
ts
type ProjectFolder = {
success: boolean;
message: string;
};5. Delete Folder
http
DELETE `/api/{workspace_id}/projects/{project_id}/folders/{folder_id}`Deletes a folder in the project.
Response
ts
type ProjectFolder = {
success: boolean;
message: string;
};6. Export Folder and Files
http
GET `/api/{workspace_id}/projects/{project_id}/folders/{folder_id}/export `Exports the folder and all associated files.
Response
Returns a downloadable zip file stream or a file link depending on implementation.
7. Get project folders and files by path
http
POST '/api/{workspace_id}/projects/{project_id}/path'Request Body
ts
type ProjectPath = {
path: string[];
};Response
ts
type Response = {
success: boolean;
message: string;
folder_id: string;
data: Data[];
item_count: number;
};
type Data = {
file_id: string;
workspace_id: string;
project_id: string;
file_name: string;
file_path: string;
file_type: string;
uploaded_by: string;
uploaded_at: Date;
folder_id: string;
type: string;
};