- About Veeam Backup for Microsoft Azure REST API
- Overview
- How To
- Changelog
- Authorization
- Availability Sets
- Availability Zones
- Asynchronous Operations
- Azure Key Vaults
- Azure Network Security Groups
- Azure Regions
- Azure Resource Groups
- Service Accounts
- getGet Collection of Service Accounts
- getGet Service Account Data
- delRemove Service Account
- postVerify Service Account Permissions
- postExport Service Account Required Permissions
- postExport Permissions by Application
- postExport Permissions by Token
- postExport Collection of Service Accounts
- postGet List of Tenants by Token
- postGet List of Subscriptions by Application
- postGet List of Microsoft Entra Groups
- postValidate User
- postAdd Service Account Using Existing Application
- putEdit Service Account Created Using Existing Application
- putValidate Editing of Service Account Created Using Existing Application
- getGet Service Accounts Suitable for Worker Management
- putSpecify Service Account for Worker Management
- Azure SQL Elastic Pools
- Azure Storage Accounts
- Azure Subscriptions
- Azure Tags
- Microsoft Entra Tenants
- Azure Virtual Networks
- Azure VM Schedule-Based Backup Policies
- getGet Collection of Azure VM Schedule-Based Backup Policies
- postCreate Backup Policy
- getGet Backup Policy Data
- putModify Backup Policy
- delRemove Backup Policy
- getGet Resources Selected for Backup Policy
- getGet Azure Regions Specified in Policy Settings
- getGet Resources Excluded from Backup Policy
- postSet Backup Policy Priority
- postEnable Backup Policy
- postDisable Backup Policy
- postStart Backup Policy
- postStop Backup Policy
- postResets Backup Policy CBT
- postExport Backup Policies
- getGet Collection of Protected Items
- getGet Resources Protected by Backup Policy
- Azure VM SLA-Based Backup Policies
- getGet Collection of SLA-Based Backup Policies
- postCreate SLA-Based Backup Policy
- postExport Collection of SLA-Based Backup Policies
- getGet SLA-Based Backup Policy Data
- putModify SLA-Based Backup Policy
- delRemove SLA-Based Backup Policy
- getGet SLA Compliance Information
- getGet Resources Protected by SLA-Based Backup Policy
- getGet Azure Regions Specified in SLA-Based Backup Policy Settings
- getGet Resources Excluded from SLA-Based Backup Policy
- postSet SLA-Based Backup Policy Priority
- postEnable SLA-Based Backup Policy
- postDisable SLA-Based Backup Policy
- getGet Collection of Protected Items
- getGet Resources Protected by SLA-Based Backup Policy
- postCalculate Estimated Cost of SLA-Based Backup Policy
- postExport Estimation Cost Report
- Azure VM Policy Cost Estimation
- Azure VMs
- Azure VM Sizes
- Azure VMs Protected by Veeam Backup for Microsoft Azure
- getGet Collection of Protected Azure VMs
- getGet Protected Azure VM Data
- postExport Collection of Protected Azure VMs
- postRemove Backups of Protected Azure VM
- postRemove Snapshots of Protected Azure VM
- postRemove Backups of Protected Azure VMs
- postRemove Snapshots of Protected Azure VMs
- postRemove Manual Snapshots of Protected Azure VMs
- postRemove Manual Snapshots of Protected Azure VM
- Azure VM Restore Points
- getGet Azure VM Restore Points
- getGet Azure VM Restore Point Data
- delRemove Azure VM Restore Point
- postPerform Virtual Disk Restore
- postPerform Azure VM Restore
- postPerform Azure VM File-Level Restore
- postRetrieve Data from Archive
- postExtend Data Availability Period
- getGet Collection of Virtual Disk Snapshots
- postVirtual Disk Snapshots Rescan
- getGet Collection of Azure VM Snapshots
- Backup Repositories
- getGet Collection of Backup Repositories
- postAdd Backup Repository
- getGet Backup Repository Data
- putModify Backup Repository Settings
- delRemove Backup Repository
- postGet Backup Repository Metadata
- postVerify Backup Repository Password
- postExport Collection of Backup Repositories
- getValidate Repository Deletion
- Configuration
- Configuration Backup
- getGet Backup Appliance Statistics
- postCreate Configuration Backup
- getGet Configuration Backup Settings
- putModify Configuration Backup Settings
- postStart Configuration Backup Export
- getCheck Status of Configuration Backup Export
- postDownload Configuration Backup File
- getGet Configuration Backup Restore Points
- getGet Configuration Backup Restore Point Data
- delRemove Configuration Backup Restore Point
- Cosmos DB Accounts
- Cosmos DB Account Point-in-Time Restore Information
- Cosmos DB Accounts Protected by Veeam Backup for Microsoft Azure
- getGet Collection of Protected Cosmos DB Accounts
- getGet Protected Cosmos DB Account Data
- postExport Collection of Protected Cosmos DB Accounts
- postRemove Backups of Protected Cosmos DB Account
- postRemove Manual Backups of Protected Cosmos DB Account
- postRemove Continuous Backups of Protected Cosmos DB Account
- postPerform Cosmos DB Account Point-in-time Restore
- Cosmos DB Backup Policies
- getGet Collection of Cosmos DB Backup Policies
- postCreate Backup Policy
- getGet Backup Policy Data
- putModify Backup Policy
- delRemove Backup Policy
- getGet Resources Selected for Backup Policy
- getGet Azure Regions Specified in Policy Settings
- getGet Resources Excluded from Backup Policy
- postSet Backup Policy Priority
- postEnable Backup Policy
- postDisable Backup Policy
- postStart Backup Policy
- postStop Backup Policy
- postExport Backup Policies
- getGet Collection of Protected Items
- getGet Resources Protected by Backup Policy
- Cosmos DB Policy Cost Estimation
- Cosmos DB Restore Points
- File-Level Recovery
- File Share Backup Policies
- getGet Collection of File Share Backup Policies
- postCreate Backup Policy
- getGet Backup Policy Data
- putModify Backup Policy
- delRemove Backup Policy
- getGet Resources Selected for Backup Policy
- getGet Azure Regions Specified in Policy Settings
- getGet Resources Excluded from Backup Policy
- postSet Backup Policy Priority
- postEnable Backup Policy
- postDisable Backup Policy
- postStart Backup Policy
- postStop Backup Policy
- postExport Backup Policies
- getGet Collection of Protected Items
- getGet Resources Protected by Backup Policy
- File Share Policy Cost Estimation
- File Share Restore Points
- File Shares
- File Shares Protected by Veeam Backup for Microsoft Azure
- Job Sessions
- getGet Collection of Sessions
- getGet Retention Session Data
- getGet Backup Session Data
- getGet Health Check Session Data
- getGet Restore Session Data
- getGet SQL Restore Session Data
- getGet Azure VM File-Level Restore Session Data
- getGet File Share File-Level Restore Session Data
- getGet Virtual Network Configuration Restore Session Data
- getGet Session Data
- getGet Session Log Details
- postStop Session
- postExport Collection of Sessions
- getGet Cosmos DB Restore Session Data
- License
- License Agreements
- Overview
- Retention Settings
- Security Certificates
- SLA Details
- SLA Templates
- SMTP and Database Accounts
- Storage Templates
- SQL Backup Policies
- getGet Collection of SQL Backup Policies
- postCreate Backup Policy
- getGet Backup Policy Data
- putModify Backup Policy
- delRemove Backup Policy
- getGet Resources Selected for Backup Policy
- getGet Azure Regions Specified in Policy Settings
- getGet Resources Excluded from Backup Policy
- postSet Backup Policy Priority
- postCheck Configuration of Backup Policy
- postEnable Backup Policy
- postDisable Backup Policy
- postStart Backup Policy
- postStop Backup Policy
- postExport Backup Policies
- getGet Collection of Protected Items
- getGet Resources Protected by Backup Policy
- SQL Databases
- SQL Databases Protected by Veeam Backup for Microsoft Azure
- SQL Policy Cost Estimation
- SQL Restore Points
- SQL Servers
- SSO Settings
- System
- Users
- Virtual Network Configuration Backup Policy
- getGet Virtual Network Configuration Backup Policy
- putModify Virtual Network Configuration Backup Policy
- postStart Virtual Network Configuration Backup Policy
- postStop Virtual Network Configuration Backup Policy
- postEnable Virtual Network Configuration Backup Policy
- postDisable Virtual Network Configuration Backup Policy
- postExport Virtual Network Configuration Backup Policy
- Virtual Network Configuration Protected by Veeam Backup for Microsoft Azure
- Virtual Network Configuration Restore Points
- Workers
- getGet Collection of Worker Instances
- delRemove Worker Instance
- postExport Collection of Worker Instances
- getGet Worker Instance Statistics
- getGet Collection of Worker Configurations
- postAdd Worker Configuration
- getGet Worker Configuration Data
- putModify Worker Configuration
- delRemove Worker Configuration
- postExport Worker Configurations
- postSpecify Worker Location and Service Account
- getGet Collection of Worker Profiles
- postAdd Worker Profiles
- getGet Worker Profiles for Region
- putModify Worker Profiles
- delRemove Worker Profiles
- postExport Worker Profiles
- getGet Worker Custom Tags
- putModify Worker Custom Tags
Get Collection of Users
The HTTP GET request to the /users
endpoint retrieves a list of all users added to the Veeam backup for Microsoft Azure configuration database.
query Parameters
NameFilter | string or null Returns only a user with the specified name. x-veeam-parameter-group: UserQueryOptions |
Offset | integer <int32> >= 0 Specifies the first N items of a resource collection that will be excluded from the response. x-veeam-parameter-group: Veeam.Azure.REST.RequestQuery.V2.PageProperties |
Limit | integer <int32> >= -1 Specifies the maximum number of items of a resource collection that will be returned in the response. x-veeam-parameter-group: Veeam.Azure.REST.RequestQuery.V2.PageProperties |
OK
Bad Request
Unauthorized
Forbidden
- curl
curl -i -X GET \ 'https://123.123.123.123/api/v8/users?NameFilter=string&Offset=0&Limit=-1' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 200
- 400
- 401
- 403
{- "offset": 0,
- "limit": 0,
- "totalCount": 0,
- "_links": {
}, - "results": [
- {
- "role": "PortalAdmin",
- "type": "Internal",
- "identityProviderEntityId": "string",
- "id": "string",
- "name": "string",
- "description": "string",
- "mfaEnabled": true,
- "isDefault": true,
}
]
}
Add User
The HTTP POST request to the /users
endpoint creates a new user account in Veeam backup for Microsoft Azure.
Request Body schema: application/jsonrequired
name required | string Specifies a name for the new user. |
description required | string Specifies a description for the new user. |
role | string or null (RbacRoleNullable) Specifies the role to assign to the user. x-external-type: Veeam.Azure.REST.Latest.RbacRole |
type | string or null (UserTypeNullable) Specifies the type of the new user. x-external-type: Veeam.Azure.REST.Latest.UserType |
identityProviderEntityId | string or null Specifies the Microsoft Azure ID assigned to the identity provider entity of the new user. |
password | string or null Specifies a password of the new user. |
Created
Bad Request
Unauthorized
Forbidden
Client Error
- Payload
- curl
{- "role": "PortalAdmin",
- "type": "Internal",
- "identityProviderEntityId": "string",
- "name": "string",
- "description": "string",
- "password": "string"
}
- 201
- 400
- 401
- 403
- 415
{- "role": "PortalAdmin",
- "type": "Internal",
- "identityProviderEntityId": "string",
- "id": "string",
- "name": "string",
- "description": "string",
- "mfaEnabled": true,
- "isDefault": true,
}
Get User Data
The HTTP GET request to the /users/{id}
endpoint retrieves information on a user with the specified ID.
path Parameters
id required | string or null Specifies the system ID assigned to a user in the Veeam Backup for Microsoft Azure REST API. |
OK
Bad Request
Unauthorized
Forbidden
Not Found
- curl
curl -i -X GET \ 'https://123.123.123.123/api/v8/users/{id}' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 200
- 400
- 401
- 403
- 404
{- "role": "PortalAdmin",
- "type": "Internal",
- "identityProviderEntityId": "string",
- "id": "string",
- "name": "string",
- "description": "string",
- "mfaEnabled": true,
- "isDefault": true,
}
Modify User
The HTTP PUT request to the /users/{id}
endpoint updates settings of a user with the specified ID.
path Parameters
id required | string or null Specifies the system ID assigned to a user in the Veeam Backup for Microsoft Azure REST API. |
Request Body schema: application/jsonrequired
role | string or null (RbacRoleNullable) Specifies the role to assign to the user. x-external-type: Veeam.Azure.REST.Latest.RbacRole |
name | string or null Specifies a new name for the user. |
description | string or null Specifies a new description for the user. |
password | string or null Specifies a new password for the user. |
OK
Bad Request
Unauthorized
Forbidden
Not Found
Client Error
- Payload
- curl
{- "role": "PortalAdmin",
- "name": "string",
- "description": "string",
- "password": "string"
}
- 200
- 400
- 401
- 403
- 404
- 415
{- "role": "PortalAdmin",
- "type": "Internal",
- "identityProviderEntityId": "string",
- "id": "string",
- "name": "string",
- "description": "string",
- "mfaEnabled": true,
- "isDefault": true,
}
Remove User
The HTTP DELETE request to the /users/{id}
endpoint removes a user with the specified ID from the Veeam Backup for Microsoft Azure configuration database.
path Parameters
id required | string or null Specifies the system ID assigned to a user in the Veeam Backup for Microsoft Azure REST API. |
No Content
Bad Request
Unauthorized
Forbidden
Not Found
- curl
curl -i -X DELETE \ 'https://123.123.123.123/api/v8/users/{id}' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 400
- 401
- 403
- 404
{- "detail": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "status": 0,
- "title": "string",
- "traceId": "string",
- "type": "string"
}
Change User Password
The HTTP POST request to the /users/{userId}/changePassword
endpoint changes password of a user with the specified ID.
path Parameters
userId required | string or null Specifies the system ID assigned to a user in the Veeam Backup for Microsoft Azure REST API. |
Request Body schema: application/jsonrequired
adminsPassword required | string non-empty Specifies the password of the Default Admin. |
newPassword required | string non-empty Specifies a new password for the user. |
No Content
Bad Request
Unauthorized
Forbidden
Client Error
- Payload
- curl
{- "newPassword": "string",
- "adminsPassword": "string"
}
- 400
- 401
- 403
- 415
{- "extensions": { },
- "status": 0,
- "title": "string",
- "detail": "string",
- "type": "string"
}
Get MFA Secret Key
The HTTP POST request to the /users/{id}/enableMfa
endpoint retrieves an MFA secret key and a token used to associate an authenticator application with the authorization server. For more information on how to enable MFA for a user, see the Veeam Backup for Microsoft Azure REST API Reference Overview, section Multi-Factor Authentication.
path Parameters
id required | string or null Specifies the system ID assigned to a user in the Veeam Backup for Microsoft Azure REST API. |
Request Body schema: application/jsonrequired
recreate | boolean Defines whether you want to recreate the existing MFA secret key (true) or to enable MFA for the user (false). |
OK
Bad Request
Unauthorized
Forbidden
Not Found
Client Error
- Payload
- curl
{- "recreate": true
}
- 200
- 400
- 401
- 403
- 404
- 415
{- "userId": "string",
- "qrString": "string",
- "secretKey": "string",
- "scratchCodes": [
- "string"
], - "token": "string"
}
Disable MFA for User
The HTTP POST request to the /users/{id}/disableMfa
endpoint disables MFA for a specific user.
path Parameters
id required | string or null Specifies the system ID assigned to a user in the Veeam Backup for Microsoft Azure REST API. |
No Content
Bad Request
Unauthorized
Forbidden
Not Found
- curl
curl -i -X POST \ 'https://123.123.123.123/api/v8/users/{id}/disableMfa' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 400
- 401
- 403
- 404
{- "detail": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "status": 0,
- "title": "string",
- "traceId": "string",
- "type": "string"
}
Enable MFA for User
The HTTP POST request to the /api/v1/users/{id}/acceptMfa
endpoint assosiates an authenticator application with the authorization server. For more information on how to enable MFA for a user, see the Veeam Backup for Microsoft Azure REST API Reference Overview, section Multi-Factor Authentication.
path Parameters
id required | string or null Specifies the system ID assigned to a user in the Veeam Backup for Microsoft Azure REST API. |
Request Body schema: application/jsonrequired
code required | string non-empty Specifies the six-digit verification code generated by an authenticator application on the trusted device. |
token required | string non-empty Specifies the token previously received from the authorization server. |
No Content
Bad Request
Unauthorized
Forbidden
Not Found
Client Error
- Payload
- curl
{- "code": "string",
- "token": "string"
}
- 400
- 401
- 403
- 404
- 415
{- "extensions": { },
- "status": 0,
- "title": "string",
- "detail": "string",
- "type": "string"
}
Export Collection of Users
The HTTP POST request to the /users/export
endpoint exports a list of user accounts created in Veeam Backup for Microsoft Azure to a .CSV or an .XML file.
header Parameters
Accept | string or null Specifies a media type of representation of the exported data. The default value is text/csv media type. |
Request Body schema: application/json
nameFilter | string or null Returns only a user with the specified name. |
userIds | Array of strings or null <uuid> Specifies the system IDs assigned in the Veeam Backup for Microsoft Azure REST API to the user accounts whose data will be exported. |
OK
Unauthorized
Forbidden
- Payload
- curl
{- "nameFilter": "string",
- "userIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
- 401
- 403
{- "extensions": { },
- "status": 0,
- "title": "string",
- "type": "string",
- "licenseAgreementAcceptanceRequired": true
}
Change Password of Current User
The HTTP POST request to the /users/changePassword
endpoint changes the password of a user that is currently authorized in the Veeam Backup for Microsoft Azure REST API.
Request Body schema: application/jsonrequired
currentPassword | string or null Specifies the current password of the currently authorized user. |
newPassword | string or null Specifies a new password for the currently authorized user. |
No Content
Bad Request
Unauthorized
Forbidden
Client Error
- Payload
- curl
{- "currentPassword": "string",
- "newPassword": "string"
}
- 400
- 401
- 403
- 415
{- "extensions": { },
- "status": 0,
- "title": "string",
- "detail": "string",
- "type": "string"
}