Modify Backup Policy

You can update a backup policy with the specified ID.

Request

To update backup policy settings, send the HTTP PUT request to the /policies{policyId} endpoint. {policyId} is a system ID assigned to the backup policy in the Veeam Backup for Microsoft Azure REST API.

HTTP Request

PUT https://<hostname>/api/v2/policies/{policyId}

Query Parameters

To control the amount and order of data in the response, you can use the following query parameters:

Request Headers

The request contains the following headers.

Header

Required

Value

Description

Authorization

Required

Bearer <Access-Token>

Authenticates a client who sends the request to the server. Must contain the access token for the current logon session in the Bearer <Access-Token> format.

Request Body

To update the backup policy settings, send the parameters of the PolicyV2 schema in the request body.

Set the parameter values in the following format:

{

 "regions": [

   {

     "regionId": "string"

   }

 ],

 "selectedItems": {

   "subscriptions": [

     {

       "subscriptionId": "string"

     }

   ],

   "tags": [

     {

       "name": "string",

       "value": "string"

     }

   ],

   "resourceGroups": [

     {

       "id": "string"

     }

   ],

   "virtualMachines": [

     {

       "id": "string"

     }

   ]

 },

 "excludedItems": {

   "virtualMachines": [

     {

       "id": "string"

     }

   ]

 },

 "name": "string",

 "description": "string",

 "tenantId": "string",

 "retrySettings": {

   "retryCount": 0

 },

 "policyNotificationSettings": {

   "recipient": "string",

   "notifyOnSuccess": true,

   "notifyOnWarning": true,

   "notifyOnFailure": true

 },

 "isEnabled": true,

 "backupType": "AllSubscriptions",

 "snapshotSettings": {

   "additionalTags": [

     {

       "name": "string",

       "value": "string"

     }

   ],

   "copyOriginalTags": true,

   "applicationAwareSnapshot": true,

   "userScripts": {

     "windows": {

       "scriptsEnabled": true,

       "preScriptPath": "string",

       "preScriptArguments": "string",

       "postScriptPath": "string",

       "postScriptArguments": "string",

       "repositorySnapshotsOnly": true,

       "ignoreExitCodes": true,

       "ignoreMissingScripts": true

     },

     "linux": {

       "scriptsEnabled": true,

       "preScriptPath": "string",

       "preScriptArguments": "string",

       "postScriptPath": "string",

       "postScriptArguments": "string",

       "repositorySnapshotsOnly": true,

       "ignoreExitCodes": true,

       "ignoreMissingScripts": true

     }

   }

 },

 "dailySchedule": {

   "dailyType": "Everyday",

   "selectedDays": [

     "Sunday"

   ],

   "runsPerHour": 0,

   "snapshotSchedule": {

     "hours": [

       0

     ],

     "snapshotsToKeep": 0

   },

   "backupSchedule": {

     "hours": [

       0

     ],

     "retention": {

       "timeRetentionDuration": 0,

       "retentionDurationType": "Days"

     },

     "targetRepositoryId": "string"

   }

 },

 "weeklySchedule": {

   "startTime": 0,

   "snapshotSchedule": {

     "selectedDays": [

       "Sunday"

     ],

     "snapshotsToKeep": 0

   },

   "backupSchedule": {

     "selectedDays": [

       "Sunday"

     ],

     "retention": {

       "timeRetentionDuration": 0,

       "retentionDurationType": "Days"

     },

     "targetRepositoryId": "string"

   }

 },

 "monthlySchedule": {

   "startTime": 0,

   "type": "First",

   "dayOfWeek": "Sunday",

   "dayOfMonth": 0,

   "monthlyLastDay": true,

   "snapshotSchedule": {

     "selectedMonths": [

       "January"

     ],

     "snapshotsToKeep": 0

   },

   "backupSchedule": {

     "selectedMonths": [

       "January"

     ],

     "retention": {

       "timeRetentionDuration": 0,

       "retentionDurationType": "Days"

     },

     "targetRepositoryId": "string"

   }

 },

 "yearlySchedule": {

   "startTime": 0,

   "month": "January",

   "type": "First",

   "dayOfWeek": "Sunday",

   "dayOfMonth": 0,

   "yearlyLastDay": true,

   "retentionYearsCount": 0,

   "targetRepositoryId": "string"

 }

}

Response

The server returns the following response to the client.

Response Codes

A successfully completed operation returns a response code 204 (No Content).

Response Headers

The response to this request contains the following headers. The response may also include additional standard HTTP headers.

Header

Value

Description

Content-length

integer

Identifies the length of the response body message, in bytes.

Content-type

  • application/json
  • application/problem+json

Identifies the media type of the response body message.

Response Body

In the response body, Veeam Backup for Microsoft Azure returns a representation of the updated backup policy. The PolicyV2 schema is used for the resource representation.

Modify Backup PolicyExample

The following request updates a backup policy with the ID 406c92ee-7d88-47ab-9c35-d4099d137396.

Request:

PUT https://51.11.247.127:<%PORT%>/api/v2/policies/406c92ee-7d88-47ab-9c35-d4099d137396

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

  "name":"Backup Policy via REST",

  "description":"",

  "isEnabled":true,

  "priority":0,

  "tenantId":"3e924ba9-93bc-40d5-8a47-33f07b239a52",

  "backupType":"SelectedItems",

  "regions":[

     {

        "regionId":"northeurope"

     },

     {

        "regionId":"ukwest"

     },

     {

        "regionId":"westeurope"

     }

  ],

  "selectedItems":{

     "subscriptions":[

 

     ],

     "resourceGroups":[

 

     ],

     "tags":[

 

     ],

     "virtualMachines":[

        {

           "id":"ej43ifg58cgjs8e9cod74ye6cbwm5nttf6ijzk64rshqoip1abqy"

        },

        {

           "id":"g344t5o8hgxgyp9r5bxqsn1aom88kjsc3hjnk3o8umzdptc3w3ey"

        }

     ]

  },

  "excludedItems":{

     "virtualMachines":[

        {

           "id":"g344t5o8hgxgyp9r5bxqsn1aom88kjsc3hjnk3o8umzdptc3w3ey"

        }

     ]

  },

  "snapshotSettings":{

     "generationsToSave":7,

     "schedule":{

        "frequencyType":"Monthly",

        "monthlyTime":"20:00:00",

        "monthlyType":"First",

        "monthlyDayOfWeek":"Monday",

        "monthlyLastDay":false,

        "monthlyDay":1,

        "selectedMonths":[

           "January",

           "February",

           "March",

           "April",

           "May",

           "June",

           "July",

           "August",

           "September",

           "October",

           "November",

           "December"

        ]

     }

  },

  "backupSettings":{

     "targetRepositoryId":1,

     "retentionSettings":{

        "retentionDurationType":"Daily",

        "timeRetentionDuration":21

     },

     "schedule":{

        "frequencyType":"Monthly",

        "monthlyTime":"20:00:00",

        "monthlyType":"First",

        "monthlyDayOfWeek":"Monday",

        "monthlyLastDay":false,

        "monthlyDay":1,

        "selectedMonths":[

           "January",

           "February",

           "March",

           "April",

           "May",

           "June",

           "July",

           "August",

           "September",

           "October",

           "November",

           "December"

        ]

     }

  },

  "retrySettings":{

     "retryCount":3

  },

  "policyNotificationSettings":{

     "recipient":"@tech.local",

     "notifyOnSuccess":true,

     "notifyOnWarning":true,

     "notifyOnFailure":true

  }

}

 

Response:

204

I want to report a typo

There is a misspelling right here:

 

I want to let the Veeam Documentation Team know about that.