Databases (Admin)

Güncellendi 4 Eki 2026 Markdown

Bu sayfa henüz Türkçeye çevrilmedi. İngilizce sürüm gösteriliyor.

GET /api/v1/accounts/{username}/databases

List databases for an account

Returns every database owned by the given account.

Path parameters:

Name Type Required Notes
username string yes —

Responses:

Status Schema Description
200 ApiSuccess_list_DatabaseResponse__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": [
    {
      "charset": "...",
      "collation": "...",
      "name": "...",
      "remote_hosts": "...",
      "size_mb": "...",
      "users": "..."
    }
  ],
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

kabuk
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/accounts/{username}/databases

POST /api/v1/accounts/{username}/databases

Create database

Create a new MariaDB database for the account, auto-prefixed with {username}_. Enforces the plan's max_databases cap.

Path parameters:

Name Type Required Notes
username string yes —

Body fields:

Field Type Required Notes
charset string no default utf8mb4
collation string no default utf8mb4_unicode_ci
name string yes minLength=1; maxLength=47; pattern=^[a-z][a-z0-9_]{0,46}$

Request body example:

JSON
{
  "charset": "utf8mb4",
  "collation": "utf8mb4_unicode_ci",
  "name": "string"
}

Responses:

Status Schema Description
200 ApiSuccess_DatabaseResponse_ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {
    "charset": "utf8mb4",
    "collation": "utf8mb4_unicode_ci",
    "name": "string",
    "remote_hosts": [
      "..."
    ],
    "size_mb": 0.0,
    "users": [
      "..."
    ]
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

kabuk
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/accounts/{username}/databases

DELETE /api/v1/accounts/{username}/databases/{db_name}

Delete database

Drop the database and remove its user/grant entries.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —

Responses:

Status Schema Description
200 MessageResponse Successful Response
422 HTTPValidationError Validation Error

Response example (200):

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

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}

GET /api/v1/accounts/{username}/databases/{db_name}/phpmyadmin-url

Mint phpMyAdmin SSO URL

Returns a short-lived SSO login URL for the panel's embedded phpMyAdmin. Returns a 200 with error_code=PMA_NOT_INSTALLED when phpMyAdmin is not present — handle both shapes client-side.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —

Responses:

Status Schema Description
200 object Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{}

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/phpmyadmin-url

GET /api/v1/accounts/{username}/databases/{db_name}/remote-hosts

List remote hosts

Returns the IPs / patterns currently allowed to connect to this database.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —

Responses:

Status Schema Description
200 ApiSuccess_list_RemoteHostResponse__ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": [
    {
      "host": "...",
      "note": "...",
      "users": "..."
    }
  ],
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/remote-hosts

POST /api/v1/accounts/{username}/databases/{db_name}/remote-hosts

Add remote host

Whitelist a host/IP pattern for remote database access.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —

Body fields:

Field Type Required Notes
host string yes —
note string no default ``

Request body example:

JSON
{
  "host": "string",
  "note": ""
}

Responses:

Status Schema Description
200 ApiSuccess_RemoteHostResponse_ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {
    "host": "string",
    "note": "",
    "users": [
      "..."
    ]
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/remote-hosts

DELETE /api/v1/accounts/{username}/databases/{db_name}/remote-hosts/{host}

Remove remote host

Revoke remote access for the given host pattern.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —
host string yes —

Responses:

Status Schema Description
200 MessageResponse Successful Response
422 HTTPValidationError Validation Error

Response example (200):

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

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/remote-hosts/{host}

POST /api/v1/accounts/{username}/databases/{db_name}/users

Create database user

Create a new MariaDB user and grant it access to this database.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —

Body fields:

Field Type Required Notes
host string no default localhost
password string yes —
privileges array no —
username string yes minLength=1; maxLength=15; pattern=^[a-z][a-z0-9_]{0,14}$

Request body example:

JSON
{
  "host": "localhost",
  "password": "REPLACE_ME",
  "privileges": [
    "string"
  ],
  "username": "alice"
}

Responses:

Status Schema Description
200 ApiSuccess_DatabaseUserResponse_ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {
    "host": "string",
    "privileges": [
      "..."
    ],
    "username": "alice"
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/users

DELETE /api/v1/accounts/{username}/databases/{db_name}/users/{db_user}

Delete database user

Revoke + drop the MariaDB user.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —
db_user string yes —

Responses:

Status Schema Description
200 MessageResponse Successful Response
422 HTTPValidationError Validation Error

Response example (200):

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

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/users/{db_user}

PUT /api/v1/accounts/{username}/databases/{db_name}/users/{db_user}

Update database user (password reset)

Currently only rotates the MariaDB password for an existing user.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —
db_user string yes —

Body fields:

Field Type Required Notes
password string no —

Request body example:

JSON
{
  "password": "string"
}

Responses:

Status Schema Description
200 MessageResponse Successful Response
422 HTTPValidationError Validation Error

Response example (200):

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

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/users/{db_user}

DELETE /api/v1/accounts/{username}/databases/{db_name}/users/{db_user}/grants

Revoke a user's access to this database

Removes the user's privileges on this database only. The user keeps its grants on other databases and is dropped when none remain.

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —
db_user string yes —

Responses:

Status Schema Description
200 MessageResponse Successful Response
422 HTTPValidationError Validation Error

Response example (200):

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

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/users/{db_user}/grants

POST /api/v1/accounts/{username}/databases/{db_name}/users/{db_user}/grants

Grant existing user access to another database

Used by the panel's 'Assign User' flow when the user already exists on a different DB — issues a GRANT only (no CREATE USER).

Path parameters:

Name Type Required Notes
username string yes —
db_name string yes —
db_user string yes —

Body fields:

Field Type Required Notes
privileges array no —

Request body example:

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

Responses:

Status Schema Description
200 ApiSuccess_DatabaseUserResponse_ Successful Response
422 HTTPValidationError Validation Error

Response example (200):

JSON
{
  "data": {
    "host": "string",
    "privileges": [
      "..."
    ],
    "username": "alice"
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}

cURL example:

kabuk
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/accounts/{username}/databases/{db_name}/users/{db_user}/grants
Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.