Backup Repositories

The /BackupRepositories resource collection represents backup repositories in the Veeam Backup for Microsoft 365 infrastructure.

Get Backup Repositories

Returns a collection of backup repositories.

SecurityBearer
Request
query Parameters
proxyId
string <uuid>

Specifies the identification number of the backup proxy server. For more information on how to get this parameter, see Get Backup Proxy Servers.

proxyPoolId
string <uuid>

Specifies the identification number of the backup proxy pool. For more information on how to get this parameter, see Get Backup Proxy Pools.

organizationId
string <uuid>

Specifies the identification number of the Microsoft 365 organization. For more information on how to get this parameter, see Get Organizations.

longTerm
boolean

Defines the representation of the backup repository properties that will be returned to the client. The following values are available:

  • true - the controller returns only properties of the following object storage repositories: Azure Blob Storage Archive access tier, Amazon S3 Glacier Instant Retrieval, Amazon S3 Glacier Flexible Retrieval or Amazon S3 Glacier Deep Archive storage classes.
  • false - the controller returns properties of all object storage repositories and JET-based backup repositories.

limit
integer <int32>

Limits the maximum number of items that the server will return on a page. The maximum supported number of items per page is 10,000. The default value is 30.

offset
integer <int32>

Excludes from a response page the first N items of a collection resource. The default value is 0.

Responses
200

OK

default

Operation failure response.

get/v8/BackupRepositories
Request samples
Response samples
application/json
{
  • "offset": 0,
  • "limit": 0,
  • "setId": "83e19bc1-5428-42b5-88ea-b28354e481f3",
  • "results": [
    ],
  • "_links": {
    }
}

Add Backup Repository

Adds a backup repository to the Veeam Backup for Microsoft 365 infrastructure.

x-codegen-request-body-name: repository
SecurityBearer
Request
Request Body schema: application/json
required
retentionType
required
string or null

Specifies a type of the retention policy.

Enum: "ItemLevel" "SnapshotBased"
objectStorageEncryptionEnabled
boolean or null

Defines whether the object storage encryption is enabled.

encryptionKeyId
string or null <uuid>

Specifies the encryption key ID.

id
string or null <uuid>

Specifies the backup repository ID.

name
string

Specifies the backup repository name.

description
string

Specifies the backup repository description.

path
string

Specifies the full path to the folder where the backups will be stored. If the target folder does not exist, Veeam Backup for Microsoft 365 creates it.

Note: This property is ignored for object storage repositories.

retentionPeriodType
string or null

Specifies the retention period type.

Enum: "Monthly" "Daily" "Yearly"
dailyRetentionPeriod
integer or null <int32>

Specifies the retention period in days. This property is valid if retentionPeriodType is set to Daily.

monthlyRetentionPeriod
integer or null <int32>

Specifies the retention period in months. This property is valid if retentionPeriodType is set to Monthly.

yearlyRetentionPeriod
string or null

Specifies the retention period in years. This property is valid if retentionPeriodType is set to Yearly. If set to Keep, the backup job will back up all selected items and will never remove them.

Enum: "Year1" "Years2" "Years3" "Years5" "Years7" "Years10" "Years25" "Keep"
retentionFrequencyType
string or null

Specifies the clean-up schedule type. The following types are available:

  • Daily. Veeam Backup for Microsoft 365 checks and removes the outdated backups once a day. Use the dailyTime property to set the time of the day for performing clean-up. Use the dailyType property to set the days for performing clean-up.
  • Monthly. Veeam Backup for Microsoft 365 checks and removes the outdated backups once a month. Use the monthlyTime property to set the time of the day for performing clean-up. Use the monthlyDaynumber and monthlyDayofweek properties to set the day for performing clean-up.

Enum: "Daily" "Monthly"
dailyTime
string

For Daily clean-up schedule. Specifies the time of the day when clean-up must be performed.

dailyType
string or null

For Daily clean-up schedule. Specifies the days when clean-up must be performed.

Enum: "Everyday" "Workdays" "Weekends" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday"
monthlyTime
string

For Monthly clean-up schedule. Specifies the time of the day when clean-up must be performed.

monthlyDaynumber
string or null

For Monthly clean-up schedule. Specifies the order number for the day of the week when clean-up must be performed.

Enum: "First" "Second" "Third" "Fourth" "Last"
monthlyDayofweek
string or null

For Monthly clean-up schedule. Specifies the day of the week when clean-up must be performed.

Enum: "Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"
proxyId
string or null <uuid>

Specifies the backup proxy server ID. Veeam Backup for Microsoft 365 will map a backup repository to this proxy server.

proxyPoolId
string or null <uuid>

Specifies the backup proxy pool ID. Veeam Backup for Microsoft 365 will map a backup repository to this backup proxy pool.

ignoreProxyPoolApplianceAccessValidation
boolean or null

Defines whether Veeam Backup for Microsoft 365 will not check if backup proxy servers that belong to the specified backup proxy pool can access the archiver appliance.

organizationId
string or null <uuid>

Specifies the organization ID.

attachUsedRepository
boolean or null

Defines whether to add a backup repository that was associated with a different backup proxy. If set to true, indicates that Veeam Backup for Microsoft 365 will assign a backup repository with backups to the backup proxy with the specified ID and add it to the backup infrastructure.

object or null
x-anyOf: [{"$ref":"#/components/schemas/RESTS3CompatibleObjectStorage"},{"$ref":"#/components/schemas/RESTAmazonS3ObjectStorage"},{"$ref":"#/components/schemas/RESTAzureObjectStorage"}]
Responses
201

Created

default

Operation failure response.

post/v8/BackupRepositories
Request samples
application/json
{
  • "objectStorageEncryptionEnabled": true,
  • "encryptionKeyId": "00000000-0000-0000-0000-000000000000",
  • "id": "00000000-0000-0000-0000-000000000000",
  • "name": "string",
  • "description": "string",
  • "path": "string",
  • "retentionPeriodType": "Monthly",
  • "dailyRetentionPeriod": 0,
  • "monthlyRetentionPeriod": 0,
  • "yearlyRetentionPeriod": "Year1",
  • "retentionFrequencyType": "Daily",
  • "retentionType": "ItemLevel",
  • "dailyTime": "string",
  • "dailyType": "Everyday",
  • "monthlyTime": "string",
  • "monthlyDaynumber": "First",
  • "monthlyDayofweek": "Sunday",
  • "proxyId": "00000000-0000-0000-0000-000000000000",
  • "proxyPoolId": "00000000-0000-0000-0000-000000000000",
  • "ignoreProxyPoolApplianceAccessValidation": true,
  • "organizationId": "00000000-0000-0000-0000-000000000000",
  • "attachUsedRepository": true,
  • "objectStorage": {
    }
}
Response samples
application/json
{
  • "objectStorageEncryptionEnabled": true,
  • "encryptionKeyId": "00000000-0000-0000-0000-000000000000",
  • "capacityBytes": 0,
  • "freeSpaceBytes": 0,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "name": "string",
  • "description": "string",
  • "path": "string",
  • "retentionType": "ItemLevel",
  • "retentionPeriodType": "Monthly",
  • "dailyRetentionPeriod": 0,
  • "monthlyRetentionPeriod": 0,
  • "yearlyRetentionPeriod": "Year1",
  • "retentionFrequencyType": "Daily",
  • "dailyTime": "string",
  • "dailyType": "Everyday",
  • "monthlyTime": "string",
  • "monthlyDaynumber": "First",
  • "monthlyDayofweek": "Sunday",
  • "proxyId": "00000000-0000-0000-0000-000000000000",
  • "proxyPoolId": "00000000-0000-0000-0000-000000000000",
  • "organizationId": "00000000-0000-0000-0000-000000000000",
  • "isLongTerm": true,
  • "isOutdated": true,
  • "isOutOfSync": true,
  • "isIndexed": true,
  • "isMigrationLocked": true,
  • "isOutOfOrder": true,
  • "outOfOrderReason": "string",
  • "_links": {
    },
  • "objectStorage": {
    }
}

Get Backup Repository

Returns a resource representation of a backup repository with the specified ID.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the identification number of the backup repository. For more information on how to get this parameter, see Get Backup Repositories.

x-veeam-constraint: true
Responses
200

OK

default

Operation failure response.

get/v8/BackupRepositories/{repositoryId}
Request samples
Response samples
application/json
{
  • "objectStorageEncryptionEnabled": true,
  • "encryptionKeyId": "00000000-0000-0000-0000-000000000000",
  • "capacityBytes": 0,
  • "freeSpaceBytes": 0,
  • "id": "00000000-0000-0000-0000-000000000000",
  • "name": "string",
  • "description": "string",
  • "path": "string",
  • "retentionType": "ItemLevel",
  • "retentionPeriodType": "Monthly",
  • "dailyRetentionPeriod": 0,
  • "monthlyRetentionPeriod": 0,
  • "yearlyRetentionPeriod": "Year1",
  • "retentionFrequencyType": "Daily",
  • "dailyTime": "string",
  • "dailyType": "Everyday",
  • "monthlyTime": "string",
  • "monthlyDaynumber": "First",
  • "monthlyDayofweek": "Sunday",
  • "proxyId": "00000000-0000-0000-0000-000000000000",
  • "proxyPoolId": "00000000-0000-0000-0000-000000000000",
  • "organizationId": "00000000-0000-0000-0000-000000000000",
  • "isLongTerm": true,
  • "isOutdated": true,
  • "isOutOfSync": true,
  • "isIndexed": true,
  • "isMigrationLocked": true,
  • "isOutOfOrder": true,
  • "outOfOrderReason": "string",
  • "_links": {
    },
  • "objectStorage": {
    }
}

Edit Backup Repository Settings

Modifies settings of a backup repository with the specified ID.

x-codegen-request-body-name: repository
SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the identification number of the backup repository. For more information on how to get this parameter, see Get Backup Repositories.

x-veeam-constraint: true
Request Body schema: application/json
required
retentionType
required
string or null

Specifies a type of the retention policy.

Enum: "ItemLevel" "SnapshotBased"
objectStorageEncryptionEnabled
boolean or null

Defines whether the object storage encryption is enabled.

encryptionKeyId
string or null <uuid>

Specifies the encryption key ID.

id
string or null <uuid>

Specifies the backup repository ID.

name
string

Specifies the backup repository name.

description
string

Specifies the backup repository description.

path
string

Specifies the full path to the folder where the backups will be stored. If the target folder does not exist, Veeam Backup for Microsoft 365 creates it.

Note: This property is ignored for object storage repositories.

retentionPeriodType
string or null

Specifies the retention period type.

Enum: "Monthly" "Daily" "Yearly"
dailyRetentionPeriod
integer or null <int32>

Specifies the retention period in days. This property is valid if retentionPeriodType is set to Daily.

monthlyRetentionPeriod
integer or null <int32>

Specifies the retention period in months. This property is valid if retentionPeriodType is set to Monthly.

yearlyRetentionPeriod
string or null

Specifies the retention period in years. This property is valid if retentionPeriodType is set to Yearly. If set to Keep, the backup job will back up all selected items and will never remove them.

Enum: "Year1" "Years2" "Years3" "Years5" "Years7" "Years10" "Years25" "Keep"
retentionFrequencyType
string or null

Specifies the clean-up schedule type. The following types are available:

  • Daily. Veeam Backup for Microsoft 365 checks and removes the outdated backups once a day. Use the dailyTime property to set the time of the day for performing clean-up. Use the dailyType property to set the days for performing clean-up.
  • Monthly. Veeam Backup for Microsoft 365 checks and removes the outdated backups once a month. Use the monthlyTime property to set the time of the day for performing clean-up. Use the monthlyDaynumber and monthlyDayofweek properties to set the day for performing clean-up.

Enum: "Daily" "Monthly"
dailyTime
string

For Daily clean-up schedule. Specifies the time of the day when clean-up must be performed.

dailyType
string or null

For Daily clean-up schedule. Specifies the days when clean-up must be performed.

Enum: "Everyday" "Workdays" "Weekends" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday"
monthlyTime
string

For Monthly clean-up schedule. Specifies the time of the day when clean-up must be performed.

monthlyDaynumber
string or null

For Monthly clean-up schedule. Specifies the order number for the day of the week when clean-up must be performed.

Enum: "First" "Second" "Third" "Fourth" "Last"
monthlyDayofweek
string or null

For Monthly clean-up schedule. Specifies the day of the week when clean-up must be performed.

Enum: "Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"
proxyId
string or null <uuid>

Specifies the backup proxy server ID. Veeam Backup for Microsoft 365 will map a backup repository to this proxy server.

proxyPoolId
string or null <uuid>

Specifies the backup proxy pool ID. Veeam Backup for Microsoft 365 will map a backup repository to this backup proxy pool.

ignoreProxyPoolApplianceAccessValidation
boolean or null

Defines whether Veeam Backup for Microsoft 365 will not check if backup proxy servers that belong to the specified backup proxy pool can access the archiver appliance.

organizationId
string or null <uuid>

Specifies the organization ID.

attachUsedRepository
boolean or null

Defines whether to add a backup repository that was associated with a different backup proxy. If set to true, indicates that Veeam Backup for Microsoft 365 will assign a backup repository with backups to the backup proxy with the specified ID and add it to the backup infrastructure.

object or null
x-anyOf: [{"$ref":"#/components/schemas/RESTS3CompatibleObjectStorage"},{"$ref":"#/components/schemas/RESTAmazonS3ObjectStorage"},{"$ref":"#/components/schemas/RESTAzureObjectStorage"}]
Responses
204

No Content

default

Operation failure response.

put/v8/BackupRepositories/{repositoryId}
Request samples
application/json
{
  • "objectStorageEncryptionEnabled": true,
  • "encryptionKeyId": "00000000-0000-0000-0000-000000000000",
  • "id": "00000000-0000-0000-0000-000000000000",
  • "name": "string",
  • "description": "string",
  • "path": "string",
  • "retentionPeriodType": "Monthly",
  • "dailyRetentionPeriod": 0,
  • "monthlyRetentionPeriod": 0,
  • "yearlyRetentionPeriod": "Year1",
  • "retentionFrequencyType": "Daily",
  • "retentionType": "ItemLevel",
  • "dailyTime": "string",
  • "dailyType": "Everyday",
  • "monthlyTime": "string",
  • "monthlyDaynumber": "First",
  • "monthlyDayofweek": "Sunday",
  • "proxyId": "00000000-0000-0000-0000-000000000000",
  • "proxyPoolId": "00000000-0000-0000-0000-000000000000",
  • "ignoreProxyPoolApplianceAccessValidation": true,
  • "organizationId": "00000000-0000-0000-0000-000000000000",
  • "attachUsedRepository": true,
  • "objectStorage": {
    }
}
Response samples
application/json
{
  • "message": "string",
  • "errorCode": "ProxyOffline",
  • "stackTrace": "string"
}

Remove Backup Repository

Removes a backup repository with the specified ID from the Veeam Backup for Microsoft 365 infrastructure.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the identification number of the backup repository. For more information on how to get this parameter, see Get Backup Repositories.

x-veeam-constraint: true
Responses
204

No Content

default

Operation failure response.

delete/v8/BackupRepositories/{repositoryId}
Request samples
Response samples
application/json
{
  • "message": "string",
  • "errorCode": "ProxyOffline",
  • "stackTrace": "string"
}

Get Backed-Up Organizations

Returns a collection of organizations whose data is stored in a backup repository with the specified ID. Veeam Backup for Microsoft 365 returns statistical information on used space in the backup repository per Microsoft organization.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the identification number of the backup repository. For more information on how to get this parameter, see Get Backup Repositories.

query Parameters
limit
integer <int32>

Limits the maximum number of items that the server will return on a page. The maximum supported number of items per page is 10,000. The default value is 30.

offset
integer <int32>

Excludes from a response page the first N items of a collection resource. The default value is 0.

Responses
200

OK

default

Operation failure response.

get/v8/BackupRepositories/{repositoryId}/backedupOrganizations
Request samples
Response samples
application/json
{
  • "offset": 0,
  • "limit": 0,
  • "setId": "83e19bc1-5428-42b5-88ea-b28354e481f3",
  • "results": [
    ],
  • "_links": {
    }
}

Synchronize Cache

Synchronizes cache between object storage repository and the PersistentCache database created for object storage repository with the specified ID.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the identification number of the backup repository. For more information on how to get this parameter, see Get Backup Repositories.

Responses
200

OK

default

Operation failure response.

post/v8/BackupRepositories/{repositoryId}/Sync
Request samples
Response samples
application/json
{
  • "id": "00000000-0000-0000-0000-000000000000",
  • "repositoryId": "00000000-0000-0000-0000-000000000000",
  • "state": "None",
  • "progressPercent": 0,
  • "error": "string",
  • "_links": {
    }
}

Create Restore Session for Backup Repository by Repository ID

Creates and starts a restore session to explore and restore data from backup copies for a backup repository with the specified ID.

Use this resource for Azure Blob Storage, Amazon S3 Standard, Amazon S3 Standard-Infrequent Access, Amazon S3 One Zone-Infrequent Access and Amazon S3 Glacier Instant Retrieval storage classes or S3 Compatible object storage repositories.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the identification number of the backup repository. For more information on how to get this parameter, see Get Backup Repositories.

query Parameters
organizationId
required
string <uuid>

Specifies the identification number of the Microsoft 365 organization. For more information on how to get this parameter, see Get Organizations.

Request Body schema: application/json
required
dateTime
string or null <date-time>

Specifies the date and time.

type
string or null

Specifies a type of the restore session to start.

Enum: "Vex" "Veod" "Vesp" "Vet"
showDeleted
boolean or null

Defines whether the restore session will show items that have been removed by the user before the specified date.

showAllVersions
boolean or null

Defines whether the restore session will show all versions of items that have been modified by the user before the specified date.

Responses
201

Created

default

Operation failure response.

post/v8/BackupRepositories/{repositoryId}/explore
Request samples
application/json
{
  • "dateTime": "2019-08-24T14:15:22Z",
  • "type": "Vex",
  • "showDeleted": true,
  • "showAllVersions": true
}
Response samples
application/json
{
  • "id": "00000000-0000-0000-0000-000000000000",
  • "name": "string",
  • "organization": "string",
  • "type": "Vex",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Working",
  • "result": "Success",
  • "initiatedBy": "string",
  • "details": "string",
  • "scopeName": "string",
  • "clientHost": "string",
  • "reason": "string",
  • "eTag": 0,
  • "_links": {
    }
}

Change Owner for Backup Repository by Repository ID

Creates and starts a change owner session to change an owner for a backup repository with the specified ID.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the identification number of the backup repository. For more information on how to get this parameter, see Get Backup Repositories.

query Parameters
proxyId
string <uuid>

Specifies the identification number of the backup proxy server. For more information on how to get this parameter, see Get Backup Proxy Servers.

poolId
string <uuid>

Specifies the identification number of the backup proxy pool. For more information on how to get this parameter, see Get Backup Proxy Pools.

includeAllRelatedRepositories
boolean
Default: false

Defines whether to process all related backup repositories within the change owner session.

waitForSessionsTimeout
integer <int32>
Default: 60

Specifies a timeout in minutes. This timeout is used to wait for the related sessions to finish before starting the current session. Related sessions are the sessions that Veeam Backup for Microsoft 365 creates to perform different activities: data backup and backup copy, data management, data restore, data retrieval, and data migration.

forceStopSessions
boolean
Default: false

Defines action that Veeam Backup for Microsoft 365 will perform if the related sessions exceed the waitForSessionsTimeout value to finish. The following values are available:

  • true - the related sessions will be stopped, the change owner session will be created and started.
  • false - the change owner session will be canceled.

forceStopSessionsTimeout
integer <int32>
Default: 10

Specifies a timeout in minutes. This timeout is used to wait for the related sessions to stop after Veeam Backup for Microsoft 365 forced them to stop.

NOTE
Use this parameter only if the forceStopSessions parameter is set to true. The change owner session will be canceled if there are still active related sessions after this timeout is expired.

Responses
200

OK

default

Operation failure response.

post/v8/BackupRepositories/{repositoryId}/changeOwner
Request samples
Response samples
application/json
{
  • "id": "00000000-0000-0000-0000-000000000000",
  • "status": "Waiting",
  • "startTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "details": "string",
  • "waitForSessionsTimeout": "string",
  • "forceStopSessions": true,
  • "forceStopSessionsTimeout": "string",
  • "fromOwnerId": "00000000-0000-0000-0000-000000000000",
  • "toOwnerId": "00000000-0000-0000-0000-000000000000",
  • "repositoryIds": [
    ]
}

Document updated 12/18/2025

Page content applies to build 8.3.0.2201