KyPanelDocs

API reference

Backups

Scheduled backups, destinations, restores and the customer's own backups.

List the account's backups

GET/api/v1/accounts/{id}/backups

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
accountBackups · ky call accountBackups

Parameters

NameIn
idpath

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of Entry
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Download a backup

GET/api/v1/accounts/{id}/backups/{sid}/download

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
accountBackupDownload · ky call accountBackupDownload

Parameters

NameIn
idpath
sidpath

Responses

  • 200 OK
  • 400 Bad Request: file-operation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Browse the files of a backup

GET/api/v1/accounts/{id}/backups/{sid}/files

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
accountBackupFiles · ky call accountBackupFiles

Parameters

NameIn
idpath
sidpath
pathquery

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of map of any
    pathstring
    taken_atinteger
  • 400 Bad Request: file-operation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Restore files from a backup

POST/api/v1/accounts/{id}/backups/{sid}/restore-files

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
accountBackupRestoreFiles · ky call accountBackupRestoreFiles

Parameters

NameIn
idpath
sidpath

Request body

FieldType
overwriteboolean
pathstring
tostring

Responses

  • 202 Accepted (runs in the background)
    Body
    FieldType
    job_idstring
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Create a full backup of the account

POST/api/v1/accounts/{id}/backups/full

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
userFullBackup · ky call userFullBackup

Parameters

NameIn
idpath

Request body

FieldType
destinationstring
hoststring
passwordstring
pathstring
portinteger
tlsstring
userstring

Responses

  • 202 Accepted (runs in the background)
    Body
    FieldType
    job_idstring
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: busy, not-ready
  • 500 Internal Server Error: internal

Download a database backup

GET/api/v1/accounts/{id}/backups/partial/databases/{db}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
partialDB · ky call partialDB

Parameters

NameIn
idpath
dbpath

Responses

  • 200 OK
  • 400 Bad Request: file-operation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Download the email filters

GET/api/v1/accounts/{id}/backups/partial/filters

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
partialFilters · ky call partialFilters

Parameters

NameIn
idpath

Responses

  • 200 OK
    Body
    FieldType
    filters alwaysarray of HostingExportedFilter
    format alwaysstring
    version alwaysinteger
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Download a domain's forwarders

GET/api/v1/accounts/{id}/backups/partial/forwarders/{did}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
partialForwarders · ky call partialForwarders

Parameters

NameIn
idpath
didpath

Responses

  • 200 OK
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Download a home directory backup

GET/api/v1/accounts/{id}/backups/partial/home

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
partialHome · ky call partialHome

Parameters

NameIn
idpath

Responses

  • 200 OK
  • 400 Bad Request: file-operation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Restore a partial backup

POST/api/v1/accounts/{id}/backups/partial/restore

Takes an uploaded partial backup: kind=home|database (restored by a job) or forwarders|filters (added right away). Multipart fields: kind, file, and database / domain_id / overwrite as needed.

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: backups
Feature
backups
Operation
partialRestore · ky call partialRestore

Parameters

NameIn
idpath

Responses

  • 200 OK
    Body
    FieldType
    addedinteger
    notesarray of string
    skippedinteger
  • 202 Accepted (runs in the background)
    Body
    FieldType
    job_idstring
  • 400 Bad Request: invalid-body, invalid-file, upload, validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 422 Unprocessable Entity: rejected
  • 500 Internal Server Error: internal

Backup status of every account

GET/api/v1/backup/accounts

Who
root
API tokens
admin token area: server
Operation
backupAccounts · ky call backupAccounts

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of map of any
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Get the backup configuration

GET/api/v1/backup/config

Who
root
API tokens
admin token area: server
Operation
backupConfigGet · ky call backupConfigGet

Responses

  • 200 OK
    Body
    FieldType
    configStoreBackupConfig
    diskobject
    FieldType
    free alwaysinteger
    total alwaysinteger
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Save the backup configuration

PUT/api/v1/backup/config

Who
root
API tokens
admin token area: server
Operation
backupConfigPut · ky call backupConfigPut

Request body

FieldType
backup_dirstring
db_modestring
enabledboolean
excludesarray of string
includeStoreBackupInclude
min_free_pctinteger
retain_localboolean
retentionStoreBackupRetention
scheduleStoreBackupSchedule
strict_retentionboolean
typestring
updated_atinteger

Responses

  • 200 OK
    Body
    FieldType
    configStoreBackupConfig
    diskobject
    FieldType
    free alwaysinteger
    total alwaysinteger
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

List backup destinations

GET/api/v1/backup/destinations

Who
root
API tokens
admin token area: server
Operation
destList · ky call destList

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of StoreBackupDestination
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Add a backup destination

POST/api/v1/backup/destinations

Who
root
API tokens
admin token area: server
Operation
postBackupDestinations · ky call postBackupDestinations

Request body

FieldType
configHostingDestConfig
enabledboolean
namestring
new_keyboolean
secretstring
timeout_sinteger
typestring

Responses

  • 200 OK
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 500 Internal Server Error: internal

Delete a backup destination

DELETE/api/v1/backup/destinations/{did}

Who
root
API tokens
admin token area: server
Operation
destDelete · ky call destDelete

Parameters

NameIn
didpath

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Update a backup destination

PUT/api/v1/backup/destinations/{did}

Who
root
API tokens
admin token area: server
Operation
putBackupDestinationsDid · ky call putBackupDestinationsDid

Parameters

NameIn
didpath

Request body

FieldType
configHostingDestConfig
enabledboolean
namestring
new_keyboolean
secretstring
timeout_sinteger
typestring

Responses

  • 200 OK
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 500 Internal Server Error: internal

Test a backup destination

POST/api/v1/backup/destinations/{did}/validate

Who
root
API tokens
admin token area: server
Operation
destValidate · ky call destValidate

Parameters

NameIn
didpath

Responses

  • 200 OK
    Body
    FieldType
    destinationStoreBackupDestination
    okboolean
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 500 Internal Server Error: internal

Run the backup now

POST/api/v1/backup/run

Who
root
API tokens
admin token area: server
Operation
backupRunNow · ky call backupRunNow

Request body

FieldType
account_idsarray of string

Responses

  • 202 Accepted (runs in the background)
    Body
    FieldType
    job_idstring
  • 400 Bad Request: not-found
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 409 Conflict: busy
  • 500 Internal Server Error: internal

List backup runs

GET/api/v1/backup/runs

Who
root
API tokens
admin token area: server
Operation
backupRuns · ky call backupRuns

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of StoreBackupRun
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

List backups by day or account

GET/api/v1/backup/snapshots

By day (?date=2026-10-15, server time) or by account (?username=), for the restore screens.

Who
root
API tokens
admin token area: server
Operation
backupSnapshots · ky call backupSnapshots

Parameters

NameIn
datequery
usernamequery

Responses

  • 200 OK
    Body
    FieldType
    datesarray of string
    itemsarray of StoreBackupSnapshot
    timezonestring
  • 400 Bad Request: invalid-date
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

List restores

GET/api/v1/restores

Who
root
API tokens
admin token area: server
Operation
restoreList · ky call restoreList

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of StoreRestoreJob
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Restore accounts from a backup

POST/api/v1/restores

Who
root
API tokens
admin token area: server
Operation
restoreCreate · ky call restoreCreate

Request body

FieldType
optionsHostingRestoreOptions
snapshot_idsarray of string

Responses

  • 202 Accepted (runs in the background)
    Body
    FieldType
    itemsarray of map of string
  • 400 Bad Request: not-found, validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Get a restore

GET/api/v1/restores/{rid}

Who
root
API tokens
admin token area: server
Operation
restoreGet · ky call restoreGet

Parameters

NameIn
ridpath

Responses

  • 200 OK
    Body
    FieldType
    account_idstring
    created_at alwaysinteger
    created_by alwaysstring
    finished_atinteger
    id alwaysstring
    job_idstring
    mode alwaysstring
    progress alwaysinteger
    snapshot_idstring
    source alwaysstring
    started_atinteger
    status alwaysstring
    target_username alwaysstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 500 Internal Server Error: internal