> For the complete MongoDB documentation index, see www.mongodb.com/docs/llms.txt

# Create One Backup Daemon Configuration

Configures a new [Backup Daemon.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon)

**Note:**

Use this endpoint when you configure a [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) for the first time. Ensure that the Backup Daemon process is running before you configure it using this endpoint.

If you have already configured the Backup Daemon, update it using the [Update One Backup Daemon Configuration](https://www.mongodb.com/docs/ops-manager/current/reference/api/admin/backup/daemonconfigs/update-one-backup-daemon-configuration.md#std-label-om-update-one-backup-daemon-config) endpoint.

Base URL: `https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/admin/backup`

## Resource

```http
PUT /daemon/configs/{MACHINE}
```

### Request Path Parameters

| Name | Type | Necessity | Description |
| --- | --- | --- | --- |
| MACHINE | string | Required | Hostname or IP address of the machine that serves the Backup Daemon. |

### Request Query Parameters

The following query parameters are optional:

| Name | Type | Necessity | Description | Default |
| --- | --- | --- | --- | --- |
| pretty | boolean | Optional | Flag indicating whether the response body is in a [prettyprint](https://en.wikipedia.org/wiki/Prettyprint?oldid=791126873) format. | `false` |
| envelope | boolean | Optional | Flag that indicates whether to wrap the response in an envelope. Some API (Application Programming Interface) clients cannot access the HTTP (Hypertext Transfer Protocol) response headers or status code. To remediate this, set **envelope=true** in the query. For endpoints that return one result, the response body includes: `status`: HTTP (Hypertext Transfer Protocol) response code; `content`: Expected response body | `false` |

### Request Body Parameters

| Name | Type | Necessity | Description |
| --- | --- | --- | --- |
| `assignmentEnabled` | boolean | Optional | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) can be assigned backup jobs. |
| `backupJobsEnabled` | boolean | Optional | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) can be used to backup databases. |
| `configured` | boolean | Optional | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) is ready to use. |
| `garbageCollectionEnabled` | boolean | Optional | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) has garbage collection set. |
| `headDiskType` | string | Optional | Type of disk used to store the [head directory.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-head-directory) The accepted values for this option are: `HDD`; `SSD` |
| `labels` | array of strings | Optional | Array of tags to manage which [backup jobs](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-backup-job) Ops Manager can assign to which [Backup Daemons.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-Backup-Daemon) Setting these tags limits which backup jobs this Backup Daemon can process. If omitted, this Backup Daemon can only process backup jobs for projects that do not use labels to filter their jobs. |
| `machine` | object | Required | [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) host and its [head directories.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-head-directory) |
| `machine.headRootDirectory` | string | Optional | Root-relative path of the [head directory](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-head-directory) on this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) host. This directory must end with a slash (`/`). If you omit the slash, the Backup Daemon generates a Java Exception error. |
| `machine.machine` | string | Required | Hostname or IP address of the [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) host. |
| `numWorkers` | number | Optional | Number of worker processes that can perform tasks (i.e. backup, restore, or groom) for the [Backup Daemon.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) |
| `resourceUsageEnabled` | boolean | Optional | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) has its resource usage monitored. |
| `restoreQueryableJobsEnabled` | boolean | Optional | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) can perform [queryable restores.](https://www.mongodb.com/docs/ops-manager/current/tutorial/query-backup.md) |

## Response

| Name | Type | Description |
| --- | --- | --- |
| `assignmentEnabled` | boolean | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) can be assigned backup jobs. |
| `backupJobsEnabled` | boolean | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) can be used to backup databases. |
| `configured` | boolean | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) is ready to use. |
| `garbageCollectionEnabled` | boolean | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) has garbage collection set. |
| `headDiskType` | string | Type of disk used to store the [head directory.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-head-directory) The accepted values for this option are: `HDD`; `SSD` |
| `id` | string | Unique identifier of this [Backup Daemon.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) |
| `labels` | array of strings | Array of tags to manage which [backup jobs](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-backup-job) Ops Manager can assign to which [Backup Daemons.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-Backup-Daemon) |
| `links` | object array | One or more links to sub-resources or related resources. All `links` arrays in responses include at least one link called `self`. The relationships between URL (Uniform Resource Locator)s are explained in the [Web Linking Specification.](https://tools.ietf.org/html/5988) |
| `machine` | object | [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) host and its [head directories.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-head-directory) |
| `machine.headRootDirectory` | string | Root-relative path of the [head directory](https://www.mongodb.com/docs/ops-manager/current/reference/glossary.md#std-term-head-directory) on this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) host. |
| `machine.machine` | string | Hostname or IP address of the [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) host. |
| `numWorkers` | number | Number of worker processes that can perform tasks (i.e. backup, restore, or groom) for the [Backup Daemon.](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) |
| `resourceUsageEnabled` | boolean | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) has its resource usage monitored. |
| `restoreQueryableJobsEnabled` | boolean | Flag indicating whether this [Backup Daemon](https://www.mongodb.com/docs/ops-manager/current/reference/glossary/#std-term-backup-daemon) can perform [queryable restores.](https://www.mongodb.com/docs/ops-manager/current/tutorial/query-backup.md) |

## Example Request

```sh
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --include \
     --request PUT 'https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/admin/backup/daemon/configs/{MACHINE}/?pretty=true' \
     --data '{
       "assignmentEnabled" : true,
       "backupJobsEnabled" : false,
       "configured" : true,
       "garbageCollectionEnabled" : true,
       "headDiskType" : "SSD",
       "labels" : [ "l1", "l2" ],
       "machine" : {
         "headRootDirectory" : "/data/backup/",
         "machine" : "localhost"
       },
       "numWorkers" : 50,
       "resourceUsageEnabled" : true,
       "restoreQueryableJobsEnabled" : true
     }'
```

## Example Response

### Response Header

```http
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
```

```http
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
```

### Response Body

```json
{
  "assignmentEnabled" : true,
  "backupJobsEnabled" : false,
  "configured" : true,
  "garbageCollectionEnabled" : true,
  "headDiskType" : "SSD",
  "id" : "{BACKUP-DAEMON-ID}",
  "labels" : [ "l1", "l2" ],
  "links" : [ {
    "href" : "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/admin/backup/daemon/configs/{MACHINE}/<machine.headRootDirectory>",
    "rel" : "self"
  }],
  "machine" : {
    "headRootDirectory" : "/data/backup/",
    "machine" : "localhost"
  },
  "numWorkers" : 50,
  "resourceUsageEnabled" : true,
  "restoreQueryableJobsEnabled" : true
}
```
