Public REST API v1 for Vertex Cloud storage
Open API Keys page (login required), click Generate and copy the key. It is shown only once and looks like:
vxc_a1b2c3d4e5...All requests must include the header:
Authorization: Bearer vxc_YOUR_KEYLimit: 10 keys per account. A key grants full access to that account's storage within its quota.
Account info: email, quota usage.
curl https://vertex-drive.duckdns.org/api/v1/me \
-H "Authorization: Bearer vxc_YOUR_KEY"{
"email": "user@gmail.com",
"quota": { "used": 123456, "total": 16106127360 }
}List folders and files. Query params (all optional):
folderId — list inside a foldertrash=1 — trash contentsshared=1 — shared items onlycurl "https://vertex-drive.duckdns.org/api/v1/files?folderId=ID" \
-H "Authorization: Bearer vxc_YOUR_KEY"{
"folders": [ { "id": "...", "name": "Docs", "parentId": null } ],
"files": [ { "id": "...", "name": "a.zip", "size": 1024,
"type": "application/zip", "folderId": null } ],
"quota": { "used": 1024, "total": 16106127360 }
}Upload one file. Request body = raw file bytes. Optional: &folderId=, &type= MIME.
curl -X POST "https://vertex-drive.duckdns.org/api/v1/upload?name=photo.jpg" \
-H "Authorization: Bearer vxc_YOUR_KEY" \
--data-binary @photo.jpgReturns 201 with { "id", "name", "size" }. Duplicate names get suffix (1), (2)… Quota exceeded → 403.
Download a file. If ID is a folder — returns a ZIP archive of it.
curl "https://vertex-drive.duckdns.org/api/v1/download?id=FILE_ID" \
-H "Authorization: Bearer vxc_YOUR_KEY" -o file.binCreate a folder or an empty text file (JSON body):
{ "name": "New Folder", "isFolder": true }
{ "name": "note.txt" }Rename / move / trash (JSON body, fields optional):
{ "id": "...", "name": "renamed.zip" } // rename
{ "id": "...", "folderId": "FOLDER_ID" } // move ("" = root)
{ "id": "...", "trashed": true } // to trash (false = restore)Move to trash. Add &permanent=1 to delete forever (folders — with all contents, quota recalculated).
| Code | Meaning |
|---|---|
400 | Bad request / invalid name |
401 | Missing or invalid token |
403 | Quota exceeded |
404 | File or folder not found |
429 | Too many requests |