Backup Repositories

The /repositories resource collection represents all backup repositories added to the Veeam Backup for AWS configuration database.

Get Collection of Repositories

The HTTP GET request to the /repositories endpoint retrieves a list of all backup repositories added to the Veeam Backup for AWS configuration database.

SecurityBearer
Request
query Parameters
SearchPattern
string

Returns only those items of a resource collection whose names match the specified search pattern in the parameter value.

Offset
integer <int32> >= 0

Excludes from a response the first N items of a resource collection.

Sort
Array of strings (RepositoriesSortColumns)

Specifies the order of items in the response. For more information, see the Veeam Backup for AWS REST API Reference Overview, section Sort Parameter.

Items Enum: "nameAsc" "nameDesc" "descriptionAsc" "descriptionDesc" "amazonAccountNameAsc" "amazonAccountNameDesc" "amazonBucketAsc" "amazonBucketDesc" "amazonStorageFolderAsc" "amazonStorageFolderDesc" "regionAsc" "regionDesc" "storageClassAsc" "storageClassDesc" "encryptionAsc" "encryptionDesc" "immutabilityAsc" "immutabilityDesc"
Limit
integer <int32> >= -1

Specifies the maximum number of items of a resource collection to return in a response.

header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

get/api/v1/repositories
Request samples
curl -i -X GET \
  'https://helpcenter.veeam.com/api/v1/repositories?SearchPattern=string&Offset=0&Sort=nameAsc&Limit=-1' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-api-version: 1.7-rev0'
Response samples
{}

Add Backup Repository

The HTTP POST request to the /repositories endpoint adds a backup repository to the Veeam Backup for AWS configuration database.

NOTE
Before you add a backup repository, you can check whether the settings you plan to specify for the repository are valid. For more information, see Validate Backup Repository Settings.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Request Body schema:
required
name
required
string [ 1 .. 255 ] characters

Specifies a name for a backup repository.

amazonBucketId
required
string <uuid>

Specifies the system ID assigned to an Amazon S3 bucket where the backup repository will be located.

identityId
required
string <uuid>

Specifies the system ID assigned in the Veeam Backup for AWS REST API to an IAM role that will be used to connect to the backup repository.

amazonStorageFolder
required
string

Specifies the folder name in the selected Amazon S3 bucket that will be used to store backups.

storageClass
required
string (RepositoryStorageClass)

Specifies a storage class of the backup repository.

Enum: "S3" "S3Glacier" "S3GlacierDeepArchive"
enableEncryption
required
boolean

Defines whether to encrypt backup files stored in the created repository. Note that once encryption settings are enabled for the repository, they cannot be disabled.

required
object (RepositoryImmutabilitySettings)

Specifies the immutability settings to configure for the repository.

overrideOwner
required
boolean

Defines whether to override the repository owner.
Note: If the value is set to true, policies configured on the backup appliance to which the repository previously belonged will fail.

description
string

Specifies a description for the backup repository.

password
string

[Applies only if the repository will be encrypted using a password] Specifies a password that will be used for data encryption.

hint
string

[Applies only if the repository will be encrypted using a password] Specifies a hint for the specified password.

customerMasterKeyId
string

[Applies only if the repository will be encrypted using a KMS key] Specifies the system ID assigned in the Veeam Backup for AWS REST API to a KMS key that will be used for data encryption.

customEndpointId
string

[Applies only for backup appliances deployed in private environments] Specifies the AWS ID of a VPC endpoint used by the repository.

Responses
201

Created

400

Bad Request. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

post/api/v1/repositories
Request samples
{
  • "name": "Repository 03",
  • "description": "Repository for Dept-02",
  • "identityId": "757efdd7-128e-470c-90b6-1b274dbf502f",
  • "amazonBucketId": "0dab1d93-ac17-482b-88a7-a56bebbb2b2e",
  • "amazonStorageFolder": "dept-2-ls",
  • "storageClass": "S3",
  • "password": "password123",
  • "hint": "TWA",
  • "customerMasterKeyId": "string",
  • "enableEncryption": true,
  • "immutabilitySettings": {
    },
  • "overrideOwner": true,
  • "customEndpointId": "vpce-1234567"
}
Response samples
[]

Get Backup Repository Data

The HTTP GET request to the /repositories/{repositoryId} endpoint retrieves information on a backup repository with the specified ID.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the ID assigned to a backup repository in the Veeam Backup for AWS REST API.

Example: 34ea638c-242f-4c8f-8015-f6f7824cbdc3
header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

get/api/v1/repositories/{repositoryId}
Request samples
curl -i -X GET \
  'https://helpcenter.veeam.com/api/v1/repositories/{repositoryId}' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-api-version: 1.7-rev0'
Response samples
[]

Modify Repository Settings

The HTTP PUT request to the /repositories/{repositoryId} endpoint update settings of a backup repository with the specified ID added to the Veeam Backup for AWS configuration database.

NOTE
Before you add a backup repository, you can check whether the settings you plan to specify for the repository are valid. For more information, see Validate Backup Repository Settings.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the system ID assigned to a backup repository in the Veeam Backup for AWS REST API.

Example: c7aef911-cd83-4e9a-924a-e9635b0a8983
header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Request Body schema:
required
name
string [ 1 .. 255 ] characters

Specifies a new name for the backup repository.

description
string

Specifies a new description for the backup repository.
Note: If you do not send the description parameter in the request body, the value is set to null by default.

identityId
string <uuid>

Specifies the system ID assigned in the Veeam Backup for AWS REST API to an IAM role that will be used to connect to the backup repository.

password
string

[Applies only if the repository will be encrypted using a password] Specifies a new password that will be used for data encryption.

hint
string

[Applies only if the repository will be encrypted using a password] Specifies a hint for the specified password.

customerMasterKeyId
string

[Applies only if the repository will be encrypted using a KMS key] Specifies the system ID assigned in the Veeam Backup for AWS REST API to a KMS key that will be used for data encryption.

enableEncryption
boolean

Defines whether to encrypt backup files stored in the backup repository. Note that once encryption settings are enabled for the repository, they cannot be disabled.

overrideOwner
boolean

Defines whether to override the repository owner.
Note: If the value is set to true, policies configured on the backup appliance to which the repository previously belonged will fail.

customEndpointId
string

[Applies only for backup appliances deployed in private environments] Specifies the AWS ID of a VPC endpoint used by the repository.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

put/api/v1/repositories/{repositoryId}
Request samples
{
  • "name": "Repository 03",
  • "description": "Repository for Dept-03",
  • "enableEncryption": false,
  • "overrideOwner": true
}
Response samples
[]

Remove Backup Repository

The HTTP DELETE request to the /repositories/{repositoryId} endpoint removes a repository with the specified ID from the Veeam Backup for AWS configuration database.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies the system ID assigned to a backup repository in the Veeam Backup for AWS REST API.

Example: c7aef911-cd83-4e9a-924a-e9635b0a8983
header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Responses
204

No Content

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

409

The repository is in use by one or more policies.

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

delete/api/v1/repositories/{repositoryId}
Request samples
curl -i -X DELETE \
  'https://helpcenter.veeam.com/api/v1/repositories/{repositoryId}' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-api-version: 1.7-rev0'
Response samples
{
  • "title": "string",
  • "status": 400,
  • "errorCode": "AccessDenied",
  • "details": "string",
  • "instance": "http://example.com",
  • "data": {
    }
}

Validate Backup Repository Settings

The HTTP POST request to the /repositories/settings/validate endpoint checks whether the settings you plan to specify for a repository are valid.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Specifies a name for a backup repository.

amazonBucketId
required
string <uuid>

Specifies the system ID assigned to an Amazon S3 bucket where the backup repository will be located.

identityId
required
string <uuid>

Specifies the system ID assigned in the Veeam Backup for AWS REST API to an IAM role that will be used to connect to the backup repository.

amazonStorageFolder
required
string

Specifies the folder name in the selected Amazon S3 bucket that will be used to store backups.

storageClass
required
string (RepositoryStorageClass)

Specifies a storage class of the backup repository.

Enum: "S3" "S3Glacier" "S3GlacierDeepArchive"
enableEncryption
required
boolean

Defines whether to encrypt backup files stored in the created repository. Note that once encryption settings are enabled for the repository, they cannot be disabled.

required
object (RepositoryImmutabilitySettings)

Specifies the immutability settings to configure for the repository.

overrideOwner
required
boolean

Defines whether to override the repository owner.
Note: If the value is set to true, policies configured on the backup appliance to which the repository previously belonged will fail.

description
string

Specifies a description for the backup repository.

password
string

[Applies only if the repository will be encrypted using a password] Specifies a password that will be used for data encryption.

hint
string

[Applies only if the repository will be encrypted using a password] Specifies a hint for the specified password.

customerMasterKeyId
string

[Applies only if the repository will be encrypted using a KMS key] Specifies the system ID assigned in the Veeam Backup for AWS REST API to a KMS key that will be used for data encryption.

customEndpointId
string

[Applies only for backup appliances deployed in private environments] Specifies the AWS ID of a VPC endpoint used by the repository.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

post/api/v1/repositories/settings/validate
Request samples
application/json
{
  • "name": "Repository 03",
  • "description": "Repository for Dept-02",
  • "identityId": "757efdd7-128e-470c-90b6-1b274dbf502f",
  • "amazonBucketId": "0dab1d93-ac17-482b-88a7-a56bebbb2b2e",
  • "amazonStorageFolder": "dept-2-ls",
  • "storageClass": "S3",
  • "password": "password123",
  • "hint": "TWA",
  • "customerMasterKeyId": "string",
  • "enableEncryption": true,
  • "immutabilitySettings": {
    },
  • "overrideOwner": true,
  • "customEndpointId": "vpce-1234567"
}
Response samples
[
  • {
    }
]

Validate Password Used for Data Encryption

The HTTP POST request to the /repositories/{repositoryId}/checkPassword endpoint verifies the password used for data encryption on a backup repository with the specified ID.

SecurityBearer
Request
path Parameters
repositoryId
required
string <uuid>

Specifies an ID assigned to a backup repository in the Veeam Backup for AWS REST API.

Example: a7bcabe6-91f7-40ca-ad73-915d43a8e86b
header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Request Body schema: application/json
required
password
required
string non-empty

Specifies the password that must be verified.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

post/api/v1/repositories/{repositoryId}/checkPassword
Request samples
application/json
{
  • "password": "Passwrd123"
}
Response samples
{
  • "isSuccess": true
}

Export Collection of Repositories

The HTTP POST request to the /repositories/export endpoint exports a list of all repositories added to the Veeam Backup for AWS configuration database to a .CSV` or an .XML file. To specify the required type of the file, use the Accept request header.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.7-rev0

Specifies the current version and revision of the Veeam Backup for AWS REST API.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

500

Internal Server Error. The request has been received but could not be completed because of an internal error on the server side.

503

Service Unavailable

504

Gateway Timeout

post/api/v1/repositories/export
Request samples
curl -i -X POST \
  https://helpcenter.veeam.com/api/v1/repositories/export \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-api-version: 1.7-rev0'