Client — Backups

Güncellendi 4 Eki 2026 Markdown

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

GET /api/v1/client/backups

List backups (client)

Return all backups owned by the authenticated client account.

Responses:

Status Schema Description
200 ApiSuccess_list_dict_str__Any___ Successful Response

Response example (200):

JSON
{
  "data": [
    {}
  ],
  "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/client/backups

POST /api/v1/client/backups

Create backup (client)

Create a new backup for the authenticated client account. Refused 409 UPDATE_IN_PROGRESS while the server is installing an update.

Body fields:

Field Type Required Notes
include_databases boolean no default True
include_emails boolean no default True
include_files boolean no default True
remote_destination_id string no —

Request body example:

JSON
{
  "include_databases": true,
  "include_emails": true,
  "include_files": true,
  "remote_destination_id": "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:

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/client/backups

POST /api/v1/client/backups/google-drive/auth-url

Google Drive OAuth URL (client)

Generate a Google OAuth2 authorization URL for connecting Google Drive as a remote backup destination.

Body fields:

Field Type Required Notes
client_id string yes —
client_secret string yes —
redirect_uri string yes —

Request body example:

JSON
{
  "client_id": "string",
  "client_secret": "string",
  "redirect_uri": "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:

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/client/backups/google-drive/auth-url

GET /api/v1/client/backups/google-drive/callback

Client Google Drive Callback

Google OAuth2 callback — sends code back to opener via postMessage.

Responses:

Status Schema Description
200 — Successful Response

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/client/backups/google-drive/callback

POST /api/v1/client/backups/google-drive/exchange

Google Drive OAuth code exchange (client)

Exchange a Google authorization code for refresh + access tokens.

Body fields:

Field Type Required Notes
client_id string yes —
client_secret string yes —
code string yes —
redirect_uri string no default ``
state string no default ``

Request body example:

JSON
{
  "client_id": "string",
  "client_secret": "string",
  "code": "string",
  "redirect_uri": "",
  "state": ""
}

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:

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/client/backups/google-drive/exchange

POST /api/v1/client/backups/onedrive/auth-url

OneDrive OAuth URL (client)

Generate a Microsoft OAuth2 authorization URL for connecting OneDrive as a remote backup destination.

Body fields:

Field Type Required Notes
client_id string yes —
client_secret string yes —
redirect_uri string yes —

Request body example:

JSON
{
  "client_id": "string",
  "client_secret": "string",
  "redirect_uri": "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:

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/client/backups/onedrive/auth-url

GET /api/v1/client/backups/onedrive/callback

Client Onedrive Callback

OneDrive OAuth2 callback — sends code back to opener via postMessage.

Query parameters:

Name Type Required Notes
code string no —
state string no —
error string no —
error_description string no —

Responses:

Status Schema Description
200 — Successful Response
422 HTTPValidationError Validation Error

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/client/backups/onedrive/callback

POST /api/v1/client/backups/onedrive/exchange

OneDrive OAuth code exchange (client)

Exchange a Microsoft authorization code for refresh and access tokens.

Body fields:

Field Type Required Notes
client_id string yes —
client_secret string yes —
code string yes —
redirect_uri string no default ``
state string no default ``

Request body example:

JSON
{
  "client_id": "string",
  "client_secret": "string",
  "code": "string",
  "redirect_uri": "",
  "state": ""
}

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:

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/client/backups/onedrive/exchange

GET /api/v1/client/backups/remote-destinations

List remote backup destinations (client)

Return all per-account remote backup destinations owned by the authenticated client.

Responses:

Status Schema Description
200 ApiSuccess_list_dict_str__Any___ Successful Response

Response example (200):

JSON
{
  "data": [
    {}
  ],
  "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/client/backups/remote-destinations

POST /api/v1/client/backups/remote-destinations

Add remote backup destination (client)

Add a new per-account remote backup destination (FTP, SFTP, Google Drive, Bunny Storage, Yandex Disk, OneDrive). Secrets in the answer are masked.

Body fields:

Field Type Required Notes
api_key string no —
base_path string no —
credentials_file string no —
credentials_json string no —
dest_id string no —
folder_id string no —
google_client_id string no —
google_client_secret string no —
google_email string no —
google_refresh_token string no —
host string no —
name string yes minLength=1; maxLength=100
oauth_token string no —
onedrive_client_id string no —
onedrive_client_secret string no —
onedrive_email string no —
onedrive_folder_path string no —
onedrive_refresh_token string no —
password string no —
port integer no —
region string no —
remote_dir string no —
reset_server_identity boolean no —
storage_zone string no —
tls_accept_unverified boolean no —
type string yes enum: ftp, sftp, google_drive, bunny_storage, yandex_disk, onedrive
use_sftp boolean no —
username string no —
validated boolean no —
yandex_client_id string no —
yandex_client_secret string no —
yandex_login string no —
yandex_refresh_token string no —

Request body example:

JSON
{
  "api_key": "string",
  "base_path": "string",
  "credentials_file": "string",
  "credentials_json": "string",
  "dest_id": "string",
  "folder_id": "string",
  "google_client_id": "string",
  "google_client_secret": "string",
  "google_email": "string",
  "google_refresh_token": "string",
  "host": "string",
  "name": "string",
  "oauth_token": "string",
  "onedrive_client_id": "string",
  "onedrive_client_secret": "string",
  "onedrive_email": "string",
  "onedrive_folder_path": "string",
  "onedrive_refresh_token": "string",
  "password": "string",
  "port": 1.0,
  "region": "string",
  "remote_dir": "string",
  "reset_server_identity": false,
  "storage_zone": "string",
  "tls_accept_unverified": false,
  "type": "ftp",
  "use_sftp": false,
  "username": "string",
  "validated": false,
  "yandex_client_id": "string",
  "yandex_client_secret": "string",
  "yandex_login": "string",
  "yandex_refresh_token": "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:

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/client/backups/remote-destinations

POST /api/v1/client/backups/remote-destinations/test

Test remote destination before save (client)

Test a remote backup destination configuration before persisting it (resolves masked credentials when editing).

Body fields:

Field Type Required Notes
api_key string no —
base_path string no —
credentials_file string no —
credentials_json string no —
dest_id string no —
folder_id string no —
google_client_id string no —
google_client_secret string no —
google_email string no —
google_refresh_token string no —
host string no —
name string yes minLength=1; maxLength=100
oauth_token string no —
onedrive_client_id string no —
onedrive_client_secret string no —
onedrive_email string no —
onedrive_folder_path string no —
onedrive_refresh_token string no —
password string no —
port integer no —
region string no —
remote_dir string no —
reset_server_identity boolean no —
storage_zone string no —
tls_accept_unverified boolean no —
type string yes enum: ftp, sftp, google_drive, bunny_storage, yandex_disk, onedrive
use_sftp boolean no —
username string no —
validated boolean no —
yandex_client_id string no —
yandex_client_secret string no —
yandex_login string no —
yandex_refresh_token string no —

Request body example:

JSON
{
  "api_key": "string",
  "base_path": "string",
  "credentials_file": "string",
  "credentials_json": "string",
  "dest_id": "string",
  "folder_id": "string",
  "google_client_id": "string",
  "google_client_secret": "string",
  "google_email": "string",
  "google_refresh_token": "string",
  "host": "string",
  "name": "string",
  "oauth_token": "string",
  "onedrive_client_id": "string",
  "onedrive_client_secret": "string",
  "onedrive_email": "string",
  "onedrive_folder_path": "string",
  "onedrive_refresh_token": "string",
  "password": "string",
  "port": 1.0,
  "region": "string",
  "remote_dir": "string",
  "reset_server_identity": false,
  "storage_zone": "string",
  "tls_accept_unverified": false,
  "type": "ftp",
  "use_sftp": false,
  "username": "string",
  "validated": false,
  "yandex_client_id": "string",
  "yandex_client_secret": "string",
  "yandex_login": "string",
  "yandex_refresh_token": "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:

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/client/backups/remote-destinations/test

DELETE /api/v1/client/backups/remote-destinations/{dest_id}

Remove remote backup destination (client)

Remove a per-account remote backup destination owned by the authenticated client.

Path parameters:

Name Type Required Notes
dest_id 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/client/backups/remote-destinations/{dest_id}

PUT /api/v1/client/backups/remote-destinations/{dest_id}

Update remote backup destination (client)

Update a per-account remote backup destination owned by the authenticated client.

Path parameters:

Name Type Required Notes
dest_id string yes —

Body fields:

Field Type Required Notes
api_key string no —
base_path string no —
credentials_file string no —
credentials_json string no —
dest_id string no —
folder_id string no —
google_client_id string no —
google_client_secret string no —
google_email string no —
google_refresh_token string no —
host string no —
name string yes minLength=1; maxLength=100
oauth_token string no —
onedrive_client_id string no —
onedrive_client_secret string no —
onedrive_email string no —
onedrive_folder_path string no —
onedrive_refresh_token string no —
password string no —
port integer no —
region string no —
remote_dir string no —
reset_server_identity boolean no —
storage_zone string no —
tls_accept_unverified boolean no —
type string yes enum: ftp, sftp, google_drive, bunny_storage, yandex_disk, onedrive
use_sftp boolean no —
username string no —
validated boolean no —
yandex_client_id string no —
yandex_client_secret string no —
yandex_login string no —
yandex_refresh_token string no —

Request body example:

JSON
{
  "api_key": "string",
  "base_path": "string",
  "credentials_file": "string",
  "credentials_json": "string",
  "dest_id": "string",
  "folder_id": "string",
  "google_client_id": "string",
  "google_client_secret": "string",
  "google_email": "string",
  "google_refresh_token": "string",
  "host": "string",
  "name": "string",
  "oauth_token": "string",
  "onedrive_client_id": "string",
  "onedrive_client_secret": "string",
  "onedrive_email": "string",
  "onedrive_folder_path": "string",
  "onedrive_refresh_token": "string",
  "password": "string",
  "port": 1.0,
  "region": "string",
  "remote_dir": "string",
  "reset_server_identity": false,
  "storage_zone": "string",
  "tls_accept_unverified": false,
  "type": "ftp",
  "use_sftp": false,
  "username": "string",
  "validated": false,
  "yandex_client_id": "string",
  "yandex_client_secret": "string",
  "yandex_login": "string",
  "yandex_refresh_token": "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:

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/client/backups/remote-destinations/{dest_id}

POST /api/v1/client/backups/remote-destinations/{dest_id}/test

Test remote backup destination (client)

Test connectivity to an existing per-account remote backup destination.

Path parameters:

Name Type Required Notes
dest_id 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:

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)" \
  https://your-server:2000/api/v1/client/backups/remote-destinations/{dest_id}/test

PATCH /api/v1/client/backups/remote-destinations/{dest_id}/toggle

Toggle remote backup destination (client)

Enable or disable a per-account remote backup destination.

Path parameters:

Name Type Required Notes
dest_id string yes —

Body fields:

Field Type Required Notes
enabled boolean no default True

Request body example:

JSON
{
  "enabled": true
}

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:

kabuk
curl -X PATCH \
  -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/backups/remote-destinations/{dest_id}/toggle

GET /api/v1/client/backups/schedules

List backup schedules (client)

Return all backup schedules for the authenticated client account.

Responses:

Status Schema Description
200 ApiSuccess_list_dict_str__Any___ Successful Response

Response example (200):

JSON
{
  "data": [
    {}
  ],
  "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/client/backups/schedules

POST /api/v1/client/backups/schedules

Create backup schedule (client)

Create a new backup schedule for the authenticated client account.

Body fields:

Field Type Required Notes
day_of_month integer no —
day_of_week integer no —
enabled boolean no default True
frequency string yes enum: daily, weekly, monthly
include_databases boolean no default True
include_emails boolean no default True
include_files boolean no default True
remote_destination_id string no —
retention_count integer no default 5; minimum=0.0; maximum=100.0
time string yes pattern=^([01]\d|2[0-3]):[0-5]\d$

Request body example:

JSON
{
  "day_of_month": 1.0,
  "day_of_week": 0,
  "enabled": true,
  "frequency": "daily",
  "include_databases": true,
  "include_emails": true,
  "include_files": true,
  "remote_destination_id": "string",
  "retention_count": 5,
  "time": "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:

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/client/backups/schedules

DELETE /api/v1/client/backups/schedules/{schedule_id}

Delete backup schedule (client)

Delete a backup schedule owned by the authenticated client account.

Path parameters:

Name Type Required Notes
schedule_id 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/client/backups/schedules/{schedule_id}

PUT /api/v1/client/backups/schedules/{schedule_id}

Update backup schedule (client)

Update a backup schedule owned by the authenticated client account.

Path parameters:

Name Type Required Notes
schedule_id string yes —

Body fields:

Field Type Required Notes
day_of_month integer no —
day_of_week integer no —
enabled boolean no —
frequency string no —
include_databases boolean no —
include_emails boolean no —
include_files boolean no —
remote_destination_id string no —
retention_count integer no —
time string no —

Request body example:

JSON
{
  "day_of_month": 1.0,
  "day_of_week": 0,
  "enabled": false,
  "frequency": "daily",
  "include_databases": false,
  "include_emails": false,
  "include_files": false,
  "remote_destination_id": "string",
  "retention_count": 0,
  "time": "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:

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/client/backups/schedules/{schedule_id}

POST /api/v1/client/backups/yandex-disk/auth-url

Yandex Disk OAuth URL (client)

Generate a Yandex OAuth authorization URL for connecting Yandex Disk as a remote backup destination.

Body fields:

Field Type Required Notes
client_id string yes —
client_secret string yes —
redirect_uri string yes —

Request body example:

JSON
{
  "client_id": "string",
  "client_secret": "string",
  "redirect_uri": "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:

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/client/backups/yandex-disk/auth-url

GET /api/v1/client/backups/yandex-disk/callback

Client Yandex Disk Callback

Yandex OAuth2 callback — sends code back to opener via postMessage.

Responses:

Status Schema Description
200 — Successful Response

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/client/backups/yandex-disk/callback

POST /api/v1/client/backups/yandex-disk/exchange

Yandex Disk OAuth code exchange (client)

Exchange a Yandex authorization code for OAuth access and refresh tokens.

Body fields:

Field Type Required Notes
client_id string yes —
client_secret string yes —
code string yes —
redirect_uri string no default ``
state string no default ``

Request body example:

JSON
{
  "client_id": "string",
  "client_secret": "string",
  "code": "string",
  "redirect_uri": "",
  "state": ""
}

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:

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/client/backups/yandex-disk/exchange

DELETE /api/v1/client/backups/{backup_id}

Delete backup (client)

Delete a backup owned by the authenticated client account.

Path parameters:

Name Type Required Notes
backup_id 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/client/backups/{backup_id}

GET /api/v1/client/backups/{backup_id}/download

Client Download Backup

Download a backup for the authenticated client account.

Path parameters:

Name Type Required Notes
backup_id string yes —

Responses:

Status Schema Description
200 — Successful Response
422 HTTPValidationError Validation Error

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/client/backups/{backup_id}/download

POST /api/v1/client/backups/{backup_id}/restore

Restore backup (client)

Restore a backup owned by the authenticated client account. Refused 409 UPDATE_IN_PROGRESS while the server is installing an update.

Path parameters:

Name Type Required Notes
backup_id 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 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)" \
  https://your-server:2000/api/v1/client/backups/{backup_id}/restore
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.