Client — File Manager

Updated Oct 4, 2026 Markdown

DELETE /api/v1/client/files

Delete file

Delete a single file or directory for the authenticated client account.

Query parameters:

Name Type Required Notes
path string no —

Responses:

Status Schema Description
200 MessageResponse Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "message": "string",
  "status": "success"
}

cURL example:

shell
curl -X DELETE \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/client/files

GET /api/v1/client/files

List files

List files and directories under the authenticated client's home tree.

Query parameters:

Name Type Required Notes
path string no —
show_hidden boolean no —

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/client/files

POST /api/v1/client/files

Create file or directory

Create a new file or directory for the authenticated client account.

Body fields:

Field Type Required Notes
content string no —
path string yes —
type string no default file; enum: file, directory

Request body example:

JSON
{
  "content": "string",
  "path": "string",
  "type": "file"
}

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files

PUT /api/v1/client/files

Edit file

Overwrite a file's content for the authenticated client account.

Body fields:

Field Type Required Notes
content string yes —
create_backup boolean no default False
encoding string no default utf-8; enum: utf-8, latin-1
path string yes —

Request body example:

JSON
{
  "content": "string",
  "create_backup": false,
  "encoding": "utf-8",
  "path": "string"
}

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X PUT \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files

POST /api/v1/client/files/compress

Compress files

Compress one or more paths into a tar.gz or zip archive for the authenticated client account.

Body fields:

Field Type Required Notes
destination string yes —
format string no default tar.gz
paths array yes —

Request body example:

JSON
{
  "destination": "string",
  "format": "tar.gz",
  "paths": [
    "string"
  ]
}

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files/compress

GET /api/v1/client/files/content

Read file content

Return the textual content and metadata of a file owned by the authenticated client.

Query parameters:

Name Type Required Notes
path string yes —

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/client/files/content

POST /api/v1/client/files/copy

Copy file

Copy a file or directory (single or batch) for the authenticated client account.

Body fields:

Field Type Required Notes
destination string yes —
overwrite boolean no default False
source string no —
sources array no —

Request body example:

JSON
{
  "destination": "string",
  "overwrite": false,
  "source": "string",
  "sources": [
    "string"
  ]
}

Responses:

Status Schema Description
200 ApiSuccess_Any_ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": null,
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files/copy

POST /api/v1/client/files/delete

Batch delete

Delete multiple files or directories in one request for the authenticated client account.

Body fields:

Field Type Required Notes
paths array yes —

Request body example:

JSON
{
  "paths": [
    "string"
  ]
}

Responses:

Status Schema Description
200 ApiSuccess_Any_ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": null,
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files/delete

GET /api/v1/client/files/download

Client Download File

Download a file for the authenticated client account.

Query parameters:

Name Type Required Notes
path string yes —

Responses:

Status Schema Description
200 — Successful Response
422 HTTPValidationError Validation Error

cURL example:

shell
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/client/files/download

POST /api/v1/client/files/extract

Extract archive

Extract a tar/zip archive into the authenticated client's home tree.

Body fields:

Field Type Required Notes
destination string no default .
path string yes —

Request body example:

JSON
{
  "destination": ".",
  "path": "string"
}

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files/extract

GET /api/v1/client/files/info

File info

Return detailed file/directory metadata for a path owned by the authenticated client.

Query parameters:

Name Type Required Notes
path string yes —

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/client/files/info

POST /api/v1/client/files/move

Move file

Move/rename a file or directory (single or batch) for the authenticated client account.

Body fields:

Field Type Required Notes
destination string yes —
overwrite boolean no default False
source string no —
sources array no —

Request body example:

JSON
{
  "destination": "string",
  "overwrite": false,
  "source": "string",
  "sources": [
    "string"
  ]
}

Responses:

Status Schema Description
200 ApiSuccess_Any_ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": null,
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files/move

POST /api/v1/client/files/permissions

Set permissions

Change file or directory permissions for the authenticated client account.

Body fields:

Field Type Required Notes
mode string yes —
path string yes —
recursive boolean no default False

Request body example:

JSON
{
  "mode": "string",
  "path": "string",
  "recursive": false
}

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files/permissions

Search files

Search the authenticated client's home tree by filename, extension, or file content.

Query parameters:

Name Type Required Notes
query string no —
path string no —
type string no —
extension string no —
case_sensitive boolean no —
max_depth integer no minimum=1; maximum=50
content_query string no —

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/client/files/search

POST /api/v1/client/files/upload

Upload file

Upload a single file (multipart/form-data) for the authenticated client account.

Query parameters:

Name Type Required Notes
path string yes —

Body fields:

Field Type Required Notes
file string yes —

Request body example:

JSON
{
  "file": "string"
}

Responses:

Status Schema Description
200 ApiSuccess_dict_str__Any__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {},
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

shell
curl -X POST \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  -H "Content-Type: application/json" \
  -d @body.json \
  https://your-server:2000/api/v1/client/files/upload
Still Need Help?

Our support team is here around the clock for anything you can't find above.