File System
List files and directories in the specified path. Use the optional depth parameter to list recursively: depth=1 (default) lists the directory's entries, depth=2 also includes their children, and so on.
path?stringDirectory path to list (defaults to working directory)
depth?integerHow many levels deep to list (default: 1, must be >= 1)
OK
application/json- response
[index: integer]?curl -X GET 'https://example.com/files'[ { "group": "string", "isDir": true, "modTime": "string", "mode": "string", "modifiedAt": "string", "name": "string", "owner": "string", "path": "string", "permissions": "string", "size": 0 }]Delete a file or directory at the specified path
path*stringFile or directory path to delete
recursive?booleanEnable recursive deletion for directories
No Content
curl -X DELETE 'https://example.com/files?path=string'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.
Paths of files to download
application/json- body
paths*array<string>Multipart response with file parts and JSON error parts
multipart/form-data- response
[key: string]?unknowncurl -X POST 'https://example.com/files/bulk-download' \ -H 'Content-Type: application/json' \ -d '{ "paths": [ "string" ]}'{ "property1": null, "property2": null}Upload multiple files with their destination paths
OK
application/json- response
errors?array<string>files?array<>curl -X POST 'https://example.com/files/bulk-upload'{ "errors": [ "string" ], "files": [ { "bytes": 0, "path": "string" } ]}Download a file by providing its path
path*stringFile path to download
OK
response?unknownapplication/octet-streamcurl -X GET 'https://example.com/files/download?path=string'nullSearch for text pattern within files in a directory
path*stringDirectory path to search in
pattern*stringText pattern to search for
OK
application/json- response
[index: integer]?curl -X GET 'https://example.com/files/find?path=string&pattern=string'[ { "content": "string", "file": "string", "line": 0 }]Create a folder with the specified path and optional permissions
path*stringFolder path to create
mode*stringOctal permission mode (default: 0755)
Created
curl -X POST 'https://example.com/files/folder?path=string&mode=string'Get detailed information about a file or directory
path*stringFile or directory path
OK
application/json- response
group*stringisDir*booleanmodTime*stringDeprecated: ModTime uses Go's time.String() layout which is not a standard format. Use ModifiedAt instead, which is serialized as ISO 8601 / RFC 3339.
mode*stringmodifiedAt*stringname*stringowner*stringpath?stringFull path of the entry
permissions*stringsize*integercurl -X GET 'https://example.com/files/info?path=string'{ "group": "string", "isDir": true, "modTime": "string", "mode": "string", "modifiedAt": "string", "name": "string", "owner": "string", "path": "string", "permissions": "string", "size": 0}Move or rename a file or directory from source to destination
source*stringSource file or directory path
destination*stringDestination file or directory path
curl -X POST 'https://example.com/files/move?source=string&destination=string'Set file permissions, ownership, and group for a file or directory
path*stringFile or directory path
owner?stringOwner (username or UID)
group?stringGroup (group name or GID)
mode?stringFile mode in octal format (e.g., 0755)
curl -X POST 'https://example.com/files/permissions?path=string'Replace text pattern with new value in multiple files
Replace request
application/json- body
files*array<string>newValue*stringpattern*stringOK
application/json- response
[index: integer]?curl -X POST 'https://example.com/files/replace' \ -H 'Content-Type: application/json' \ -d '{ "files": [ "string" ], "newValue": "string", "pattern": "string"}'[ { "error": "string", "file": "string", "success": true }]Search for files matching a specific pattern in a directory
path*stringDirectory path to search in
pattern*stringFile pattern to match (e.g., *.txt, *.go)
OK
application/json- response
files*array<string>curl -X GET 'https://example.com/files/search?path=string&pattern=string'{ "files": [ "string" ]}Upload a file to the specified path. Accepts either multipart/form-data (field "file") or a raw request body (e.g. application/octet-stream). Parent directories are created if missing; an existing file is overwritten.
path*stringDestination path for the uploaded file
multipart/form-data- body
file?unknownFile to upload (multipart/form-data)
OK
application/json- response
name*stringpath*stringtype*stringcurl -X POST 'https://example.com/files/upload-v2?path=string'{ "name": "string", "path": "string", "type": "string"}