- 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
The /accounts/azure/service
resource collection represents service accounts added to the Veeam Backup for Microsoft Azure configuration database.
Get Collection of Service Accounts
The HTTP GET request to the /accounts/azure/service
endpoint retrieves a list of service accounts added to the Veeam Backup for Microsoft Azure configuration database.
query Parameters
Filter | string or null Returns only specific items of a resource collection in the response. To learn how to use the x-veeam-parameter-group: RESTAzureAccountFilters |
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 |
Purpose | Array of strings or null (AzureAccountPurpose) Specifies operations that can be performed using the service account. x-veeam-parameter-group: RESTAzureAccountFilters |
OK
Accepted
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
- curl
curl -i -X GET \ 'https://123.123.123.123/api/v8/accounts/azure/service?Filter=string&Offset=0&Limit=-1&Purpose=None' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 200
- 202
- 400
- 401
- 403
{- "offset": 0,
- "limit": 0,
- "totalCount": 0,
- "_links": {
}, - "results": [
- {
- "accountId": "string",
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "applicationCertificateName": "string",
- "name": "string",
- "description": "string",
- "region": "Global",
- "tenantId": "string",
- "tenantName": "string",
- "accountOrigin": "Device Authentication",
- "expirationDate": "2019-08-24T14:15:22Z",
- "accountState": "Created",
- "adGroupId": "9a83eeeb-9c7f-43c1-8266-9a86d08b7e4a",
- "cloudState": "Unknown",
- "adGroupName": "string",
- "purposes": [
- "None"
], - "managementGroupId": "string",
- "managementGroupName": "string",
- "subscriptionIds": [
- "string"
], - "selectedForWorkermanagement": true,
- "azurePermissionsState": [
- "AllPermissionsAvailable"
], - "azurePermissionsStateCheckTimeUtc": "2019-08-24T14:15:22Z",
- "subscriptionIdForWorkerDeployment": "fa8415e4-16b1-41c7-a585-5c880fe4dc6f",
}
]
}
Get Service Account Data
The HTTP GET request to the /accounts/azure/service/{accountId}
endpoint retrieves information on a service account with the specified ID.
path Parameters
accountId required | string Specifies the system ID assigned to a service account in the Veeam Backup for Microsoft Azure REST API. |
OK
Accepted
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Not Found. One or more resources specified in the request could not be found in the specified resource collection.
- curl
curl -i -X GET \ 'https://123.123.123.123/api/v8/accounts/azure/service/{accountId}' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 200
- 202
- 400
- 401
- 403
- 404
{- "accountId": "string",
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "applicationCertificateName": "string",
- "name": "string",
- "description": "string",
- "region": "Global",
- "tenantId": "string",
- "tenantName": "string",
- "accountOrigin": "Device Authentication",
- "expirationDate": "2019-08-24T14:15:22Z",
- "accountState": "Created",
- "adGroupId": "9a83eeeb-9c7f-43c1-8266-9a86d08b7e4a",
- "cloudState": "Unknown",
- "adGroupName": "string",
- "purposes": [
- "None"
], - "managementGroupId": "string",
- "managementGroupName": "string",
- "subscriptionIds": [
- "string"
], - "selectedForWorkermanagement": true,
- "azurePermissionsState": [
- "AllPermissionsAvailable"
], - "azurePermissionsStateCheckTimeUtc": "2019-08-24T14:15:22Z",
- "subscriptionIdForWorkerDeployment": "fa8415e4-16b1-41c7-a585-5c880fe4dc6f",
}
Remove Service Account
The HTTP DELETE request to the /accounts/azure/service/{accountId}
endpoint removes a service account with the specified ID from the Veeam Backup for Microsoft Azure configuration database.
path Parameters
accountId required | string Specifies the system ID assigned to a service account in the Veeam Backup for Microsoft Azure REST API. |
No Content
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Not Found. One or more resources specified in the request could not be found in the specified resource collection.
Conflict
- curl
curl -i -X DELETE \ 'https://123.123.123.123/api/v8/accounts/azure/service/{accountId}' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 400
- 401
- 403
- 404
- 409
{- "detail": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "status": 0,
- "title": "string",
- "traceId": "string",
- "type": "string"
}
Verify Service Account Permissions
The HTTP POST request to the /accounts/azure/service/{accountId}/checkPermissions
checks whether the specified service account has all the permissions required to protect resources that belong to the specified Azure subscription.
path Parameters
accountId required | string <uuid> Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to the service account whose permissions will be checked. |
query Parameters
subscriptionId | Array of strings or null <uuid> Specifies a Microsoft Azure ID assigned to a subscription whose resources will be protected using the permissions of the service account. |
purposes | Array of strings or null (AzureAccountPurpose) Specifies operations that will be performed using the service account. |
OK
Accepted
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Not Found. Resource specified in the request could not be found in the specified resource collection.
Client Error
- curl
curl -i -X POST \ 'https://123.123.123.123/api/v8/accounts/azure/service/{accountId}/checkPermissions?subscriptionId=497f6eca-6276-4993-bfeb-53cbbbba6f08&purposes=None' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 200
- 202
- 400
- 401
- 403
- 404
- 415
{- "environment": "Global",
- "applianceTenantId": "string",
- "defaultTenantId": "string",
- "defaultTenantName": "string",
- "subscriptions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "tenantId": "string",
- "permissionsState": "AvailableAll",
- "missingPermissions": [
- "string"
], - "missingDataActions": [
- "string"
], - "resourceProvidersState": "AvailableAll",
- "missingResourceProviders": [
- "string"
], - "purposes": [
- "None"
], - "missingPurposes": [
- {
- "purpose": "None",
- "missingActions": [
- "string"
], - "missingDataActions": [
- "string"
]
}
], - "availability": "Available"
}
], - "requiredRolesHint": [
- "string"
]
}
Export Service Account Required Permissions
The HTTP POST request to the /accounts/azure/service/exportPermissions
endpoint exports a .JSON file with the full list of permissions required to perform operations selected for the service account with the specified ID.
query Parameters
accountId required | string <uuid> Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to the service account that must be assigned the exported permissions. |
subscriptionId required | string <uuid> Specifies a Microsoft Azure ID assigned to a subscription whose resources will be protected using the exported permissions. |
OK
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Client Error
- curl
curl -i -X POST \ 'https://123.123.123.123/api/v8/accounts/azure/service/exportPermissions?accountId=497f6eca-6276-4993-bfeb-53cbbbba6f08&subscriptionId=497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 400
- 401
- 403
- 415
{- "detail": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "status": 0,
- "title": "string",
- "traceId": "string",
- "type": "string"
}
Export Permissions by Application
The HTTP POST request to the /accounts/azure/service/exportPermissionsByApp
endpoint exports a .JSON file with the list of permissions required to perform operations selected for the service account with the specified ID.
query Parameters
subscriptionId required | string <uuid> Specifies a Microsoft Azure ID assigned to a subscription whose resources will be protected using the exported permissions. |
editAccountId | string Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to the service account that must be assigned the exported permissions. |
Request Body schema: application/json
applicationId required | string <uuid> Specifies the Microsoft Azure ID assigned to the Entra ID application. |
azureEnvironment required | string or null (AzureEnvironmentNullable) Specifies the type of the Microsoft Azure cloud environment. x-external-type: Veeam.Azure.REST.Latest.AzureEnvironment |
tenantId required | string <uuid> Specifies the Microsoft Azure ID assigned to a tenant in which the Entra ID application has been registered. |
clientSecret | string or null /[Required to authenticate using client secret] Specifies the client secret generated on the Azure portal. |
applicationCertificate | string or null /[Required to authenticate using certificate] Specifies the certificate generated for the Entra ID application. |
applicationCertificateName | string or null /[Required to authenticate using certificate] Specifies the certificate file name or other way of naming certificate. Later on it will be used during account edit as reminder for certificate being used. |
certificatePassword | string or null Specifies the password used to encrypt the certificate on the certificate creation. |
azureAccountPurposes | Array of strings or null (AzureAccountPurpose) Specifies operations that can be performed using the service account. |
subscriptions | Array of strings or null <uuid> Specifies Azure subscriptions with which the service account is associated. |
OK
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Client Error
- Payload
- curl
{- "azureEnvironment": "Global",
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "clientSecret": "string",
- "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
- "applicationCertificate": "string",
- "applicationCertificateName": "string",
- "certificatePassword": "string",
- "azureAccountPurposes": [
- "None"
], - "subscriptions": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
- 400
- 401
- 403
- 415
{- "extensions": { },
- "status": 0,
- "title": "string",
- "detail": "string",
- "type": "string"
}
Export Permissions by Token
The HTTP POST request to the /accounts/azure/service/exportPermissionsByToken
endpoint exports a .JSON file with the full list of permissions that must be assigned to a service account to protect Azure resources associated with the specified subscription.
This operation requires authentication to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). That is why to complete the operation, you must obtain the value of the
accessTokenCache
parameter.query Parameters
subscriptionId required | string <uuid> Specifies a Microsoft Azure ID assigned to a subscription whose resources will be protected using the exported permissions. |
Request Body schema: application/jsonrequired
accessTokenCache required | string <binary> Specifies a string value representing authorization token to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
authenticatedByCertificate | boolean Defines whether the type of authentication is a certificate. |
azureEnvironment | string (AzureEnvironment) Specifies the type of the Microsoft Azure cloud environment. |
azureAccountPurposes | Array of strings or null (AzureAccountPurpose) List of operations that can be performed using the service account. |
displayableId | string or null Specifies credentials of the Microsoft Azure account that will be used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
familyName | string or null Deprecated Last name of the user whose credentials are used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
givenName | string or null Deprecated First name of the user whose credentials are used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
identityProvider | string or null Specifies the name of the identity provider used to manage identity information. |
tenantId | string or null Specifies the Microsoft Azure ID assigned to a tenant with which the service account is associated. |
OK
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Client Error
- Payload
- curl
{- "authenticatedByCertificate": true,
- "azureEnvironment": "Global",
- "azureAccountPurposes": [
- "None"
], - "accessTokenCache": "string",
- "displayableId": "string",
- "familyName": "string",
- "givenName": "string",
- "identityProvider": "string",
- "tenantId": "string"
}
- 400
- 401
- 403
- 415
{- "extensions": { },
- "status": 0,
- "title": "string",
- "detail": "string",
- "type": "string"
}
Export Collection of Service Accounts
The HTTP POST request to the /accounts/azure/service/export
endpoint exports a list of service accounts added to the Veeam Backup for Microsoft Azure configuration database 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
accountIds | Array of strings or null <uuid> Specifies a list of system IDs assigned in the Veeam Backup for Microsoft Azure REST API to the service accounts whose data will be exported. |
OK
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Client Error
- Payload
- curl
{- "accountIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
- 400
- 401
- 403
- 415
{- "extensions": { },
- "status": 0,
- "title": "string",
- "detail": "string",
- "type": "string"
}
Get List of Tenants by Token
The HTTP POST request to the /accounts/azure/service/listTenantsByToken
endpoint retrieves a list of Microsoft Entra tenants to which the Microsoft Azure account used to authenticate to the Azure CLI has access.
This operation requires authentication to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). That is why to complete the operation, you must obtain the value of the
accessTokenCache
parameter.Request Body schema: application/json
accessTokenCache required | string <binary> Specifies a string value representing authorization token to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
authenticatedByCertificate | boolean Defines whether the type of authentication is a certificate. |
azureEnvironment | string (AzureEnvironment) Specifies the type of the Microsoft Azure cloud environment. |
azureAccountPurposes | Array of strings or null (AzureAccountPurpose) List of operations that can be performed using the service account. |
displayableId | string or null Specifies credentials of the Microsoft Azure account that will be used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
familyName | string or null Deprecated Last name of the user whose credentials are used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
givenName | string or null Deprecated First name of the user whose credentials are used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
identityProvider | string or null Specifies the name of the identity provider used to manage identity information. |
tenantId | string or null Specifies the Microsoft Azure ID assigned to a tenant with which the service account is associated. |
Accepted
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Not Found. One or more resources specified in the request could not be found in the specified resource collection.
Client Error
- Payload
- curl
{- "authenticatedByCertificate": true,
- "azureEnvironment": "Global",
- "azureAccountPurposes": [
- "None"
], - "accessTokenCache": "string",
- "displayableId": "string",
- "familyName": "string",
- "givenName": "string",
- "identityProvider": "string",
- "tenantId": "string"
}
- 202
- 400
- 401
- 403
- 404
- 415
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "startTime": "2019-08-24T14:15:22Z",
- "status": "Canceled",
- "error": {
- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "extensions": {
- "property1": { },
- "property2": { }
}
}, - "_links": {
}, - "result": {
- "tenants": [
- {
- "tenant": {
- "tenantId": "string",
- "name": "string",
}, - "subscriptions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "environment": "Global",
- "tenantId": "string",
- "tenantName": "string",
- "name": "string",
- "status": "Active",
- "availability": "Available",
- "workerResourceGroupName": "string",
- "_links": {
- "property1": {
- "href": null
}, - "property2": {
- "href": null
}
}
}
], - "userAppRegistrationStatus": "Allowed",
- "accessStatus": "Available"
}
]
}
}
Get List of Subscriptions by Application
The HTTP POST request to the /accounts/azure/service/listSubscriptionsByApp
retrieves a list of subscriptions available for the service account connected to the existing Entra ID application.
query Parameters
editAccountId | string or null Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to the service account that will be edited. x-position: 2 |
skipPermissionsCheck | boolean or null x-position: 3 |
Request Body schema: application/json
applicationId required | string <uuid> Specifies the Microsoft Azure ID assigned to the Entra ID application. |
azureEnvironment required | string or null (AzureEnvironmentNullable) Specifies the type of the Microsoft Azure cloud environment. x-external-type: Veeam.Azure.REST.Latest.AzureEnvironment |
tenantId required | string <uuid> Specifies the Microsoft Azure ID assigned to a tenant in which the Entra ID application has been registered. |
clientSecret | string or null /[Required to authenticate using client secret] Specifies the client secret generated on the Azure portal. |
applicationCertificate | string or null /[Required to authenticate using certificate] Specifies the certificate generated for the Entra ID application. |
applicationCertificateName | string or null /[Required to authenticate using certificate] Specifies the certificate file name or other way of naming certificate. Later on it will be used during account edit as reminder for certificate being used. |
certificatePassword | string or null Specifies the password used to encrypt the certificate on the certificate creation. |
azureAccountPurposes | Array of strings or null (AzureAccountPurpose) Specifies operations that can be performed using the service account. |
subscriptions | Array of strings or null <uuid> Specifies Azure subscriptions with which the service account is associated. |
OK
Accepted
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Client Error
- Payload
- curl
{- "azureEnvironment": "Global",
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "clientSecret": "string",
- "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
- "applicationCertificate": "string",
- "applicationCertificateName": "string",
- "certificatePassword": "string",
- "azureAccountPurposes": [
- "None"
], - "subscriptions": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
- 200
- 202
- 400
- 401
- 403
- 415
{- "environment": "Global",
- "applianceTenantId": "string",
- "defaultTenantId": "string",
- "defaultTenantName": "string",
- "subscriptions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "tenantId": "string",
- "permissionsState": "AvailableAll",
- "missingPermissions": [
- "string"
], - "missingDataActions": [
- "string"
], - "resourceProvidersState": "AvailableAll",
- "missingResourceProviders": [
- "string"
], - "purposes": [
- "None"
], - "missingPurposes": [
- {
- "purpose": "None",
- "missingActions": [
- "string"
], - "missingDataActions": [
- "string"
]
}
], - "availability": "Available"
}
], - "requiredRolesHint": [
- "string"
]
}
Get List of Microsoft Entra Groups
The HTTP POST request to the /accounts/azure/service/listAdGroups
endpoint retrieves a list of Microsoft Entra groups available in the Microsoft Azure environment.
This operation requires authentication to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). That is why to complete the operation, you must obtain the value of the
accessTokenCache
parameter.Request Body schema: application/json
tenantId required | string or null Specifies the Microsoft Azure ID assigned to a tenant with which the service account is associated. |
object (AzureAuthenticationResult) Specifies information on authentication in Microsoft Azure environment. | |
object (AdGroupQueryOptions) Specifies the order to sort the returned items by value of the | |
editAccountId | string or null Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to the service account that will be edited. |
OK
Accepted
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Not Found. One or more resources specified in the request could not be found in the specified resource collection.
Conflict
Client Error
- Payload
- curl
{- "azureAuthentication": {
- "authenticatedByCertificate": true,
- "azureEnvironment": "Global",
- "azureAccountPurposes": [
- "None"
], - "accessTokenCache": "string",
- "displayableId": "string",
- "familyName": "string",
- "givenName": "string",
- "identityProvider": "string",
- "tenantId": "string"
}, - "queryOptions": { },
- "editAccountId": "string",
- "tenantId": "string"
}
- 200
- 202
- 400
- 401
- 403
- 404
- 409
- 415
{- "adGroups": [
- {
- "id": "string",
- "displayName": "string"
}
], - "userAdPermissions": {
- "userCanSetAdGroup": true,
- "userCanRenewAdApp": true
}
}
Validate User
The HTTP POST request to the /accounts/azure/service/isUserOwnerOfAdApp
endpoint checks whether the Microsoft Azure account authenticated to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI) is the owner of the specified Entra ID application.
This operation requires authentication to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). That is why to complete the operation, you must obtain the value of the
accessTokenCache
parameter.query Parameters
applicationId | string or null Specifies the Microsoft Azure ID assigned to the Entra ID application. |
editAccountId | string or null Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to the service account with which the specified Entra ID application is associated. |
tenantId | string or null Specifies the Microsoft Azure ID assigned to a tenant in which the specified Entra ID application has been registered. |
Request Body schema: application/json
accessTokenCache required | string <binary> Specifies a string value representing authorization token to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
authenticatedByCertificate | boolean Defines whether the type of authentication is a certificate. |
azureEnvironment | string (AzureEnvironment) Specifies the type of the Microsoft Azure cloud environment. |
azureAccountPurposes | Array of strings or null (AzureAccountPurpose) List of operations that can be performed using the service account. |
displayableId | string or null Specifies credentials of the Microsoft Azure account that will be used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
familyName | string or null Deprecated Last name of the user whose credentials are used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
givenName | string or null Deprecated First name of the user whose credentials are used to log in to the Microsoft Azure Cross-platform Command Line Interface (Azure CLI). |
identityProvider | string or null Specifies the name of the identity provider used to manage identity information. |
tenantId | string or null Specifies the Microsoft Azure ID assigned to a tenant with which the service account is associated. |
OK
Accepted
Bad Request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
Not Found. One or more resources specified in the request could not be found in the specified resource collection.
Conflict
Client Error
- Payload
- curl
{- "authenticatedByCertificate": true,
- "azureEnvironment": "Global",
- "azureAccountPurposes": [
- "None"
], - "accessTokenCache": "string",
- "displayableId": "string",
- "familyName": "string",
- "givenName": "string",
- "identityProvider": "string",
- "tenantId": "string"
}
- 200
- 202
- 400
- 401
- 403
- 404
- 409
- 415
true
Add Service Account Using Existing Application
The HTTP POST request to the /accounts/azure/service/saveByApp
endpoint creates a new service account using an existing Entra ID application.
Request Body schema: application/json
required | object (AzureAccountInfo) Specifies information on a service account. x-veeam-namespace: Veeam.Azure.REST.Representation.V2 |
object or null (ClientLoginParameters) Specifies the login data of the Entra ID application. |
OK
Accepted
Bad Request
Unauthorized
Forbidden
Client Error
- Payload
- curl
{- "accountInfo": {
- "name": "string",
- "description": "string"
}, - "clientLoginParameters": {
- "azureEnvironment": "Global",
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "clientSecret": "string",
- "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
- "applicationCertificate": "string",
- "applicationCertificateName": "string",
- "certificatePassword": "string",
- "azureAccountPurposes": [
- "None"
], - "subscriptions": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
- 200
- 202
- 400
- 401
- 403
- 415
"string"
Edit Service Account Created Using Existing Application
The HTTP PUT request to the /accounts/azure/service/updateByApp/{accountId}
endpoint updates a specific service account created using an existing Entra ID application.
path Parameters
accountId required | string Specifies the system ID assigned to a service account in the Veeam Backup for Microsoft Azure REST API. |
Request Body schema: application/json
required | object (AzureAccountInfo) Specifies information on a service account. x-veeam-namespace: Veeam.Azure.REST.Representation.V2 |
object or null (ClientLoginParameters) Specifies the login data of the Entra ID application. |
OK
Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Client Error
- Payload
- curl
{- "accountInfo": {
- "name": "string",
- "description": "string"
}, - "clientLoginParameters": {
- "azureEnvironment": "Global",
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "clientSecret": "string",
- "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
- "applicationCertificate": "string",
- "applicationCertificateName": "string",
- "certificatePassword": "string",
- "azureAccountPurposes": [
- "None"
], - "subscriptions": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
- 200
- 202
- 400
- 401
- 403
- 404
- 409
- 415
"string"
Validate Editing of Service Account Created Using Existing Application
The HTTP PUT request to the /accounts/azure/service/updateByApp/{accountId}/validate
endpoint checks whether the data specified for the HTTP PUT request to the Edit Service Account Created Using Existing Application endpoint is valid.
path Parameters
accountId required | string Specifies the system ID assigned to a service account in the Veeam Backup for Microsoft Azure REST API. |
Request Body schema: application/json
required | object (AzureAccountInfo) Specifies information on a service account. x-veeam-namespace: Veeam.Azure.REST.Representation.V2 |
object or null (ClientLoginParameters) Specifies the login data of the Entra ID application. |
OK
Bad Request
Unauthorized
Forbidden
Not Found
- Payload
- curl
{- "accountInfo": {
- "name": "string",
- "description": "string"
}, - "clientLoginParameters": {
- "azureEnvironment": "Global",
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "clientSecret": "string",
- "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
- "applicationCertificate": "string",
- "applicationCertificateName": "string",
- "certificatePassword": "string",
- "azureAccountPurposes": [
- "None"
], - "subscriptions": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
- 200
- 400
- 401
- 403
- 404
{- "result": "Success",
- "issues": [
- {
- "type": "PrimarySubscriptionMissing",
- "subscription": "string",
- "policy": "string",
- "resources": [
- "string"
]
}
]
}
Get Service Accounts Suitable for Worker Management
The HTTP GET request to the /accounts/azure/service/listWorkerManagementSuitableServices
endpoint retrieves a list of service accounts added to the Veeam Backup for Microsoft Azure configuration database that can be used to launch worker instances.
query Parameters
Filter | string or null Returns only specific items of a resource collection in the response. To learn how to use the x-veeam-parameter-group: RESTAzureAccountFilters |
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. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The Authorization header does not contain an access token, or the provided access token is invalid.
Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
- curl
curl -i -X GET \ 'https://123.123.123.123/api/v8/accounts/azure/service/listWorkerManagementSuitableServices?Filter=string&Offset=0&Limit=-1' \ -H 'Authorization: YOUR_API_KEY_HERE'
- 200
- 400
- 401
- 403
{- "offset": 0,
- "limit": 0,
- "totalCount": 0,
- "_links": {
}, - "results": [
- {
- "azureAccountId": "d667ee35-e5a4-42d0-87fc-3aaf43b7b122",
- "azureAccountName": "string",
- "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
- "tenantName": "string",
- "subscriptions": [
- {
- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "subscriptionName": "string"
}
]
}
]
}
Specify Service Account for Worker ManagementDeprecated
The HTTP PUT request to the /accounts/azure/service/{accountId}/selectForWorkermanagement
endpoint allows you to specify a service account that will be used to launch worker instances.
path Parameters
accountId required | string Specifies the system ID assigned to a service account in the Veeam Backup for Microsoft Azure REST API. |
Request Body schema: application/json
SubscriptionId | string or null <uuid> Specifies the Microsoft Azure ID assigned to a subscription in which the worker instances will be deployed. |
ResourceGroupName | string or null Specifies the name of a resource group to which the worker instances will belong. |
No Content
Bad Request
Unauthorized
Forbidden
Not Found
- Payload
- curl
{- "SubscriptionId": "0bc37390-50b9-4518-b724-269d2b5e50cd",
- "ResourceGroupName": "string"
}
- 400
- 401
- 403
- 404
{- "extensions": { },
- "status": 0,
- "title": "string",
- "detail": "string",
- "type": "string"
}