# Back up cPanel account via SCP with SSH key

This function creates a full backup to a remote server with a private SSH key via the secure copy protocol (scp) command. The system creates a file in the backup-MM.DD.YYYY_HH-mm-ss_username.tar.gz filename format.

Endpoint: GET /Backup/fullbackup_to_scp_with_key
Version: 11.136.0.22
Security: BasicAuth

## Query parameters:

  - `host` (string, required)
    The remote server's hostname or IP address.
    Example: "example.com"

  - `key_name` (string, required)
    The SSH key's name.

Notes:

* To generate a private SSH key, use the UAPI SSL::generate_key
function.
* To import an existing SSH key, use the cPanel API 2
SSH::importkey function.
    Example: "examplesshkey"

  - `key_passphrase` (string, required)
    The SSH key's password.
    Example: "123456luggage"

  - `directory` (string)
    The directory on the remote server that will store the backup.

Note:

This parameter defaults to the remote server account's default login directory.
    Example: "/user"

  - `email` (string)
    The email address to receive a confirmation email when the backup completes.

Note:

The system does not provide confirmation if you do not pass this parameter.
    Example: "username@example.com"

  - `homedir` (string)
    How to manage the home directory in the backup.

* include — Include the home directory in the backup.
* skip — Omit the home directory from the backup.
    Enum: "include", "skip"

  - `port` (integer)
    The port to use during the transfer.
    Example: 22

## Response 200 fields (application/json):

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

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

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

  - `result` (object)

  - `result.data` (object)

  - `result.data.pid` (string)
    The backup's process identifier.
    Example: "2857"

  - `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.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 a API.


