# Return website backups

This function returns the website backups that cover the domain
parameter, newest first.

Note:

* The function reads the JSON sidecar manifests under the account's
  website_backups directory and returns one row per manifest that
  covers the domain, either as the manifest's own domain or as a member
  of its site list.
* The function lists only backups that already exist. The
  WebsiteBackup::list_operations and WebsiteBackup::operation_status
  functions report an operation that is still in flight.
* The function skips a manifest that it cannot read rather than failing
  the call.
 This function returns an array, so UAPI's generic api.filter_,
  api.sort_ and api.paginate_ parameters apply, and a
  caller-supplied sort replaces the default ordering of the data
  return value.
* This function requires the account's backup feature.

Endpoint: GET /WebsiteBackup/list_backups
Version: 11.138.0.10
Security: BasicAuth

## Query parameters:

  - `domain` (string, required)
    The website whose backups to list.

Note:
The account must own this domain.
    Example: "example.com"

## Response 200 fields (application/json):

  - `apiversion` (integer)
    The version of the API.
    Example: 3

  - `func` (string)
    The name of the method called.
    Example: "list_backups"

  - `module` (string)
    The name of the module called.
    Example: "WebsiteBackup"

  - `result` (object)

  - `result.data` (array)
    The backups covering the requested domain, newest
first. Empty when the account has none.

  - `result.data.createdMs` (integer)
    Epoch milliseconds at which the backup was
created.

Note:
The function returns rows newest first by this
value.
    Example: 1755520392000

  - `result.data.databaseNames` (array)
    The databases dumped into this archive, so a
restore can offer a per-database picker.

Note:
Empty for a files-only backup and for a legacy
archive created before the system recorded
names.
    Example: ["user_wordpress"]

  - `result.data.id` (string)
    Identifier of the backup, in the form
-.

Note:
Pass it to the WebsiteBackup::restore_backup,
WebsiteBackup::extract_backup or
WebsiteBackup::delete_backup function.
    Example: "example.com-2026.08.18_12-53-12"

  - `result.data.includesDatabases` (integer)
    Whether the archive holds any database dumps.

* 1 - The archive includes databases.
* 0 - The archive is website files only.
    Enum: 1, 0

  - `result.data.name` (string)
    Display name of the backup.

Note:
This falls back to the id return value when
the manifest recorded no name.
    Example: "example.com-2026.08.18_12-53-12"

  - `result.data.relativePath` (string)
    Path of the archive relative to the account's
home directory. Empty when the manifest recorded
none.
    Example: "website_backups/example.com-2026.08.18_12-53-12.tar.gz"

  - `result.data.sites` (array)
    The domains this archive covers.
    Example: ["example.com"]

  - `result.data.sizeBytes` (integer)
    Size of the archive in bytes. 0 when the
manifest recorded none.
    Example: 104857600

  - `result.data.source` (string)
    Who created the backup.

* user - The account created it. You can
  delete it through the
  WebsiteBackup::delete_backup function.
* system - The server created it. It is not
  user-deletable.
    Enum: "user", "system"

  - `result.data.status` (string)
    State of the archive itself. A listed backup is
normally ready.
    Example: "ready"

  - `result.data.type` (string)
    Always website.

Note:
This distinguishes these rows from cPanel
account backups.
    Enum: "website"

  - `result.errors` (array,null)
    List of errors if the API failed.

  - `result.messages` (array,null)
    List of messages generated by the API.

  - `result.metadata` (object)

  - `result.metadata.transformed` (integer)
    Post-processing may have transformed the data.
    Enum: 1

  - `result.status` (integer)
    * 1 - Success.
* 0 - Failed. Check the errors field for more
  details.
    Enum: 0, 1

  - `result.warnings` (array,null)
    List of warnings generated by the API. Warnings
describe non-critical failures or other problematic
conditions noted while running an API.


