Databases
Databases
Manage MySQL/MariaDB databases. Base: /api/v1/databases Β·
Auth: Authorization: Bearer wsp_β¦
Error envelope:
{ "success": false, "code": "VALIDATION_ERROR", "error": "database name is required", "message": "β¦", "status": 400 }
List β GET /api/v1/databases/
No body. Response 200 (verified live): [], or items:
[ { "name": "admin_shop", "db_user": "admin_shop", "owner": "admin",
"size_kb": 0, "remote_access": false, "remote_host": "",
"created_at": "2026-05-18T17:44:35+07:00",
"updated_at": "2026-05-18T17:44:35+07:00" } ]
Create β POST /api/v1/databases/
Only name required; db_user = <owner>_<name>, password
auto-generated if omitted.
Request: { "name": "shop" }
Response 201 (verified live β note db_password shown once):
{ "name": "admin_shop", "db_user": "admin_shop",
"db_password": "361ebac88cac9451393a1153f6eda52e",
"created_at": "2026-05-18T17:44:35+07:00" }
Response 400 (verified live): { "success": false, "code": "VALIDATION_ERROR", "error": "database name is required", "message": "database name is required", "status": 400 }
Get / delete
GET /api/v1/databases/:name β same shape as a list item.
DELETE /api/v1/databases/:name β 200 (verified live):
{ "message": "Database deleted successfully" }
PUT /databases/:name Request: { "remote_access": true, "remote_host": "%" }.
POST /databases/:name/reset-password β { "db_password": "β¦" }.
POST /databases/:name/phpmyadmin β { "url": "https://β¦" } (one-time).
Conventions β Authentication, Error Handling.