openapi: 3.2.0 info: description: Daytona Toolbox API title: Daytona Sandbox Toolbox File System API contact: {} license: name: Apache-2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: v0.0.0-dev servers: - url: https://proxy.app.daytona.io/toolbox description: Daytona Sandbox Toolbox proxy tags: - name: Filesystem paths: /files: get: description: List files and directories in the specified path tags: - Filesystem summary: List files and directories operationId: ListFiles parameters: - description: Directory path to list (defaults to working directory) name: path in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/FileInfo' delete: description: Delete a file or directory at the specified path tags: - Filesystem summary: Delete a file or directory operationId: DeleteFile parameters: - description: File or directory path to delete name: path in: query required: true schema: type: string - description: Enable recursive deletion for directories name: recursive in: query schema: type: boolean responses: '204': description: No Content /files/bulk-download: post: description: Download multiple files by providing their paths. Successful files are returned as multipart parts named `file`. Per-file failures are returned as multipart parts named `error` with JSON payloads shaped like ErrorResponse. tags: - Filesystem summary: Download multiple files operationId: DownloadFiles responses: '200': description: Multipart response with file parts and JSON error parts content: multipart/form-data: schema: $ref: '#/components/schemas/gin.H' requestBody: content: application/json: schema: $ref: '#/components/schemas/FilesDownloadRequest' description: Paths of files to download required: true /files/bulk-upload: post: description: Upload multiple files with their destination paths tags: - Filesystem summary: Upload multiple files operationId: UploadFiles responses: '200': description: OK /files/download: get: description: Download a file by providing its path tags: - Filesystem summary: Download a file operationId: DownloadFile parameters: - description: File path to download name: path in: query required: true schema: type: string responses: '200': description: OK content: application/octet-stream: schema: type: string format: binary /files/find: get: description: Search for text pattern within files in a directory tags: - Filesystem summary: Find text in files operationId: FindInFiles parameters: - description: Directory path to search in name: path in: query required: true schema: type: string - description: Text pattern to search for name: pattern in: query required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Match' /files/folder: post: description: Create a folder with the specified path and optional permissions tags: - Filesystem summary: Create a folder operationId: CreateFolder parameters: - description: Folder path to create name: path in: query required: true schema: type: string - description: 'Octal permission mode (default: 0755)' name: mode in: query required: true schema: type: string responses: '201': description: Created /files/info: get: description: Get detailed information about a file or directory tags: - Filesystem summary: Get file information operationId: GetFileInfo parameters: - description: File or directory path name: path in: query required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileInfo' /files/move: post: description: Move or rename a file or directory from source to destination tags: - Filesystem summary: Move or rename file/directory operationId: MoveFile parameters: - description: Source file or directory path name: source in: query required: true schema: type: string - description: Destination file or directory path name: destination in: query required: true schema: type: string responses: '200': description: OK /files/permissions: post: description: Set file permissions, ownership, and group for a file or directory tags: - Filesystem summary: Set file permissions operationId: SetFilePermissions parameters: - description: File or directory path name: path in: query required: true schema: type: string - description: Owner (username or UID) name: owner in: query schema: type: string - description: Group (group name or GID) name: group in: query schema: type: string - description: File mode in octal format (e.g., 0755) name: mode in: query schema: type: string responses: '200': description: OK /files/replace: post: description: Replace text pattern with new value in multiple files tags: - Filesystem summary: Replace text in files operationId: ReplaceInFiles responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ReplaceResult' requestBody: content: application/json: schema: $ref: '#/components/schemas/ReplaceRequest' description: Replace request required: true /files/search: get: description: Search for files matching a specific pattern in a directory tags: - Filesystem summary: Search files by pattern operationId: SearchFiles parameters: - description: Directory path to search in name: path in: query required: true schema: type: string - description: File pattern to match (e.g., *.txt, *.go) name: pattern in: query required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchFilesResponse' /files/upload: post: description: Upload a file to the specified path tags: - Filesystem summary: Upload a file operationId: UploadFile parameters: - description: Destination path for the uploaded file name: path in: query required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/gin.H' requestBody: content: multipart/form-data: schema: type: object properties: file: type: string description: File to upload format: binary required: - file components: schemas: ReplaceRequest: type: object required: - files - newValue - pattern properties: files: type: array items: type: string newValue: type: string pattern: type: string SearchFilesResponse: type: object required: - files properties: files: type: array items: type: string gin.H: type: object additionalProperties: {} ReplaceResult: type: object properties: error: type: string file: type: string success: type: boolean Match: type: object required: - content - file - line properties: content: type: string file: type: string line: type: integer FileInfo: type: object required: - group - isDir - modTime - mode - name - owner - permissions - size properties: group: type: string isDir: type: boolean modTime: type: string mode: type: string name: type: string owner: type: string permissions: type: string size: type: integer FilesDownloadRequest: type: object required: - paths properties: paths: type: array items: type: string