# Operations with Specific DatabaseBackupSettings

This resource lets you configure settings of the database backup.
|  Resource  |     ```GENERIC /api/admin/databaseBackup/settings ```    |
| --- | --- |
|  Returned entity  |  [DatabaseBackupSettings](api-entity-DatabaseBackupSettings.html). For the description of the entity attributes, see [Supported Fields](#DatabaseBackupSettings-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Read a Specific DatabaseBackupSettings](#get-DatabaseBackupSettings-method).    * `POST`: [Update a Specific DatabaseBackupSettings](#update-DatabaseBackupSettings-method).    |

## DatabaseBackupSettings attributes

Represents database backup settings of the YouTrack instance.

### Related Resources

Below you can find the list of resources that let you work with this entity.

* [Database Backup Settings](resource-api-admin-databaseBackup-settings.html)

### Attributes

This table describes attributes of the `DatabaseBackupSettings` entity.

* To receive an attribute in the response from the server, specify it explicitly in the `fields` request parameter.

* To update an attribute, provide it in the body of a POST request.

|  Field  |  Type  |  Description  |
| --- | --- | --- |
|  id  |  String  |  The ID of the backup status. `Read-only`.  |
|  location  |  String  |  The location of the backups storage folder. `Can be null`.  |
|  filesToKeep  |  Int  |  The number of backup files that should be stored.  |
|  cronExpression  |  String  |  The cron expression that defines the schedule of the automatic backups.  |
|  archiveFormat  |  Enumeration  |  The current selected format of backup files. Supported values are TAR_GZ or ZIP.  |
|  isOn  |  Boolean  |  If `true`, the automatic regular backup is enabled. Otherwise, `false`.  |
|  availableDiskSpace  |  Long  |  The size of available disk space. `Read-only`.  |
|  notifiedUsers  |  [Array of Users](api-entity-User.html)  |  The list of users who get notifications about backup failures.  |
|  backupStatus  |  [BackupStatus](api-entity-BackupStatus.html)  |  The current status of the backup. `Read-only`.  |

## Read a Specific DatabaseBackupSettings

Read the database backup settings.

### Required permissions

Requires permissions: Low-level Admin Read

### Request syntax

```GENERIC
GET /api/admin/databaseBackup/settings?{fields}
```

|  null  |  The database ID of DatabaseBackupSettings  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of DatabaseBackupSettings attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample

#### Sample request

```CURL
https://example.youtrack.cloud/api/admin/databaseBackup/settings?fields=archiveFormat,availableDiskSpace,backupStatus(backupCancelled,backupError(date,errorMessage),backupInProgress,stopBackup),isOn,location,cronExpression,filesToKeep,notifiedUsers(login,name,id)
```

#### Sample response body

```JSON
{
  "cronExpression": "0 0 9 * * ?",
  "isOn": false,
  "notifiedUsers": [
    {
      "login": "root",
      "name": "John Smith",
      "id": "1-1",
      "$type": "User"
    }
  ],
  "archiveFormat": "TAR_GZ",
  "filesToKeep": 0,
  "availableDiskSpace": 57364168704,
  "backupStatus": {
    "stopBackup": false,
    "backupInProgress": false,
    "backupError": null,
    "backupCancelled": false,
    "$type": "BackupStatus"
  },
  "location": "/mnt/disk0/example/backup",
  "$type": "DatabaseBackupSettings"
}
```

## Update a Specific DatabaseBackupSettings

Update the database backup settings.

### Required permissions

Requires permissions: Low-level Admin Write

### Request syntax

```GENERIC
POST /api/admin/databaseBackup/settings?{fields}
```

|  null  |  The database ID of DatabaseBackupSettings  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of DatabaseBackupSettings attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample

#### Sample request

```CURL
https://example.com/youtrack/api/admin/databaseBackup/settings?fields=archiveFormat,availableDiskSpace,backupStatus(backupCancelled,backupError(date,errorMessage),backupInProgress,stopBackup),isOn,filesToKeep,cronExpression,notifiedUsers(id,name,login)
```

#### Sample request body

```JSON
{
  "archiveFormat": "TAR_GZ",
  "notifiedUsers":[{"id":"24-0"}],
  "isOn":true,
  "cronExpression":"0 0 2 * * ?",
  "filesToKeep":30
}
```

#### Sample response body

```JSON
{
  "isOn": true,
  "cronExpression": "0 0 2 * * ?",
  "filesToKeep": 30,
  "archiveFormat": "TAR_GZ",
  "availableDiskSpace": 115498954752,
  "notifiedUsers": [
    {
      "name": "TARDIS",
      "login": "admin",
      "id": "24-0",
      "$type": "User"
    }
  ],
  "backupStatus": {
    "backupInProgress": false,
    "stopBackup": false,
    "backupCancelled": false,
    "backupError": null,
    "$type": "BackupStatus"
  },
  "$type": "DatabaseBackupSettings"
}
```

