openapi: 3.0.0 info: version: 1.0-rev0 title: Veeam Backup for AWS public API 1.0 Agents Repositories API description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery. security: - Bearer: [] tags: - name: Repositories paths: /api/v1/repositories: get: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: RepositoriesGetAll parameters: - name: SearchPattern in: query required: false x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters' schema: type: string - name: Offset in: query required: false x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters' schema: type: integer format: int32 minimum: 0 - name: Sort in: query required: false x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters' style: form explode: false schema: type: array items: type: string enum: - nameAsc - nameDesc - descriptionAsc - descriptionDesc - amazonAccountNameAsc - amazonAccountNameDesc - amazonBucketAsc - amazonBucketDesc - amazonStorageFolderAsc - amazonStorageFolderDesc - regionAsc - regionDesc - encryptionAsc - encryptionDesc uniqueItems: false - name: Limit in: query required: false x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters' schema: type: integer format: int32 minimum: -1 - $ref: '#/components/parameters/apiVersionParam' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RepositoriesPage' application/problem+json: schema: $ref: '#/components/schemas/RepositoriesPage' '400': description: Bad Request. The request body is malformed, incomplete or otherwise invalid. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' post: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: CreateRepository parameters: - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/RepositoryCreateSpec' application/json: schema: $ref: '#/components/schemas/RepositoryCreateSpec' text/json: schema: $ref: '#/components/schemas/RepositoryCreateSpec' application/*+json: schema: $ref: '#/components/schemas/RepositoryCreateSpec' application/csp-report: schema: $ref: '#/components/schemas/RepositoryCreateSpec' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/Repository' application/problem+json: schema: $ref: '#/components/schemas/Repository' '400': description: Bad Request. The request body is malformed, incomplete or otherwise invalid. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' /api/v1/repositories/{repositoryId}: get: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: RepositoriesGetOneById parameters: - name: repositoryId in: path required: true schema: type: string format: uuid - $ref: '#/components/parameters/apiVersionParam' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Repository' application/problem+json: schema: $ref: '#/components/schemas/Repository' '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found. One or more resources specified in the request could not be found in the specified resource collection. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' put: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: UpdateRepository parameters: - name: repositoryId in: path required: true schema: type: string format: uuid - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/RepositoryUpdateSpec' application/json: schema: $ref: '#/components/schemas/RepositoryUpdateSpec' text/json: schema: $ref: '#/components/schemas/RepositoryUpdateSpec' application/*+json: schema: $ref: '#/components/schemas/RepositoryUpdateSpec' application/csp-report: schema: $ref: '#/components/schemas/RepositoryUpdateSpec' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Repository' application/problem+json: schema: $ref: '#/components/schemas/Repository' '400': description: Bad Request. The request body is malformed, incomplete or otherwise invalid. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found. One or more resources specified in the request could not be found in the specified resource collection. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' delete: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: DeleteRepository parameters: - name: repositoryId in: path required: true schema: type: string format: uuid - $ref: '#/components/parameters/apiVersionParam' responses: '200': description: Success '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found. One or more resources specified in the request could not be found in the specified resource collection. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '409': description: The repository is in use by one or more policies. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' /api/v1/repositories/{repositoryId}/rescan: post: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: RescanRepository parameters: - name: repositoryId in: path required: true schema: type: string format: uuid - $ref: '#/components/parameters/apiVersionParam' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/SessionLink' application/problem+json: schema: $ref: '#/components/schemas/SessionLink' '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found. One or more resources specified in the request could not be found in the specified resource collection. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' /api/v1/repositories/settings/validate: post: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: RepositoryValidateSettings parameters: - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json: schema: $ref: '#/components/schemas/RepositoryCreateSpec' required: true responses: '200': description: Success content: application/json: schema: uniqueItems: false type: array items: $ref: '#/components/schemas/ValidationMessage' application/problem+json: schema: uniqueItems: false type: array items: $ref: '#/components/schemas/ValidationMessage' '400': description: Bad Request. The request body is malformed, incomplete or otherwise invalid. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' /api/v1/repositories/{repositoryId}/checkPassword: post: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: RepositoryPasswordIsCorrect parameters: - name: repositoryId in: path required: true schema: type: string format: uuid - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json: schema: $ref: '#/components/schemas/RepositoryPasswordValidationSpec' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RepositoryPasswordValidationResult' application/problem+json: schema: $ref: '#/components/schemas/RepositoryPasswordValidationResult' '400': description: Bad Request. The request body is malformed, incomplete or otherwise invalid. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Error' /api/v1/repositories/export: post: x-veeam-authorize: roles: - Portal Administrator - Portal Operator tags: - Repositories operationId: ExportRepositories parameters: - $ref: '#/components/parameters/apiVersionParam' responses: '200': description: Success content: text/csv: schema: type: string format: binary application/xml: schema: type: string format: binary '401': description: Unauthorized. The authorization header has been expected but not found (or found but is expired). content: text/csv: schema: $ref: '#/components/schemas/Error' application/xml: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side. content: text/csv: schema: $ref: '#/components/schemas/Error' application/xml: schema: $ref: '#/components/schemas/Error' /api/v1/backupInfrastructure/repositories: get: description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories` path allows you to get an array of all backup repositories that are added to the backup infrastructure. operationId: GetAllRepositories parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: Number of repositories to skip. in: query name: skip schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Maximum number of repositories to return. in: query name: limit schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Sorts repositories by one of the repository parameters. in: query name: orderColumn schema: $ref: '#/components/schemas/ERepositoryFiltersOrderColumn' x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Sorts repositories in the ascending order by the `orderColumn` parameter. in: query name: orderAsc schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Filters repositories by the `nameFilter` pattern. The pattern can match any repository parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. in: query name: nameFilter schema: type: string x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Filters repositories by repository type. in: query name: typeFilter schema: $ref: '#/components/schemas/ERepositoryType' x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Filters repositories by ID of the backup server. in: query name: hostIdFilter schema: format: uuid type: string x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Filters repositories by path to the folder where backup files are stored. in: query name: pathFilter schema: type: string x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Filters repositories by VM Backup API parameters converted to the base64 string. To obtain the string, call the `GetApiProductInfoString` method of VM Backup API. in: query name: vmbApiFilter schema: type: string x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' - description: Filters repositories by ID of a platform that you use to communicate with VM Backup API. in: query name: vmbApiPlatform schema: format: uuid type: string x-veeam-spec: $ref: '#/components/schemas/RepositoriesFilters_2' responses: '200': content: application/json: example: data: - description: Created by TECH\sheila.d.cory hostId: e22b8842-c454-4036-abd5-f468c3248aaf id: d4b5e196-f3ad-474c-99bc-dfef051dae07 mountServer: mountServerId: e22b8842-c454-4036-abd5-f468c3248aaf vPowerNFSEnabled: true vPowerNFSPortSettings: mountPort: 1063 vPowerNFSPort: 2049 writeCacheFolder: C:\ProgramData\Veeam\Backup\IRCache\ name: Backup Repository 1 repository: advancedSettings: alignDataBlocks: true decompressBeforeStoring: false perVmBackup: false rotatedDrives: false maxTaskCount: 4 path: C:\Backup Repository readWriteRate: 0 tag: D4B5E196F3AD474C99BCDFEF051DAE07 type: WinLocal - description: Created by Veeam Backup hostId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 id: 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec mountServer: mountServerId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 vPowerNFSEnabled: true vPowerNFSPortSettings: mountPort: 1063 vPowerNFSPort: 2049 writeCacheFolder: C:\ProgramData\Veeam\Backup\IRCache\ name: Default Backup Repository repository: advancedSettings: alignDataBlocks: true decompressBeforeStoring: false perVmBackup: false rotatedDrives: false maxTaskCount: 4 path: C:\Backup readWriteRate: 0 tag: 88788F9ED8F54EB4BC4F9B3F5403BCEC type: WinLocal pagination: count: 2 limit: 200 skip: 0 total: 2 schema: $ref: '#/components/schemas/RepositoriesResult' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get All Repositories tags: - Repositories x-veeam-authorize: claims: - ViewRepositories post: description: The HTTP POST request to the `/api/v1/backupInfrastructure/repositories` path allows you to add a repository to the backup infrastructure. operationId: CreateRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' - in: query name: overwriteOwner schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/RepositoryBehaviorFilters' requestBody: content: application/json: example: description: Created by TECH\sheila.d.cory kind: Das mountServer: mountServerId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 vPowerNFSEnabled: true vPowerNFSPortSettings: mountPort: 1058 vPowerNFSPort: 1058 writeCacheFolder: D:\ProgramData\Veeam\Backup\ repository: advancedSettings: alignDataBlocks: false decompressBeforeStoring: false perVmBackup: false rotatedDrives: false maxTaskCount: 8 path: D:\Backups readWriteRate: 0 useFastCloningOnXFSVolumes: false tag: big-repository type: WinLocal name: Main Backup Repository hostId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 schema: $ref: '#/components/schemas/RepositorySpec' required: true responses: '201': content: application/json: example: activityId: e81a72de-9b0a-4f4a-a451-0d0ece4c54b2 progressPercent: 0 sessionType: Infrastructure creationTime: '2022-01-28T20:18:47.563+01:00' name: Infrastructure Item Saving state: Working usn: 0 id: e81a72de-9b0a-4f4a-a451-0d0ece4c54b2 schema: $ref: '#/components/schemas/SessionModel' description: Infrastructure session has been created to add the repository. To check the progress, track the session `state`. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Add Repository tags: - Repositories x-veeam-authorize: claims: - CreateRepositories /api/v1/backupInfrastructure/repositories/states: get: description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories/states` path allows you to get an array of all repository states. The states include repository location and brief statistics, such as repository capacity, free and used space. operationId: GetAllRepositoriesStates parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: Number of repository states to skip. in: query name: skip schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Maximum number of repository states to return. in: query name: limit schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Sorts repository states by one of the state parameters. in: query name: orderColumn schema: $ref: '#/components/schemas/ERepositoryStatesFiltersOrderColumn' x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Sorts repository states in the ascending order by the `orderColumn` parameter. in: query name: orderAsc schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Filters repository states by repository ID. in: query name: idFilter schema: format: uuid type: string x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Filters repository states by the `nameFilter` pattern. The pattern can match any repository state parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. in: query name: nameFilter schema: type: string x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Filters repository states by repository type. in: query name: typeFilter schema: $ref: '#/components/schemas/ERepositoryType' x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Filters repository states by repository capacity. in: query name: capacityFilter schema: format: double type: number x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Filters repository states by repository free space. in: query name: freeSpaceFilter schema: format: double type: number x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' - description: Filters repository states by repository used space. in: query name: usedSpaceFilter schema: format: double type: number x-veeam-spec: $ref: '#/components/schemas/RepositoryStatesFilters' responses: '200': content: application/json: example: data: - capacityGB: 299.4 description: Created by TECH\sheila.d.cory freeGB: 217.8 hostId: e22b8842-c454-4036-abd5-f468c3248aaf hostName: enterprise03.tech.local id: d4b5e196-f3ad-474c-99bc-dfef051dae07 name: Backup Repository 1 path: C:\Backup Repository type: WinLocal usedSpaceGB: 173.4 - capacityGB: 99.4 description: Created by Veeam Backup freeGB: 16.4 hostId: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 hostName: enterprise06.tech.local id: 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec name: Default Backup Repository path: C:\Backup type: WinLocal usedSpaceGB: 30.4 pagination: count: 2 limit: 200 skip: 0 total: 2 schema: $ref: '#/components/schemas/RepositoryStatesResult' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get All Repository States tags: - Repositories x-veeam-authorize: claims: - ViewRepositories /api/v1/backupInfrastructure/repositories/{id}: delete: description: The HTTP DELETE request to the `/api/v1/backupInfrastructure/repositories/{id}` path allows you to remove a backup repository that has the specified `id` from the backup infrastructure. operationId: DeleteRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the backup repository. in: path name: id required: true schema: format: uuid type: string - description: If *true*, Veeam Backup & Replication will remove backup files. in: query name: deleteBackups schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/DeleteRepositoryFilters' responses: '204': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Repository has been removed. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Remove Repository tags: - Repositories x-veeam-authorize: claims: - DeleteRepositories get: description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories/{id}` path allows you to get a backup repository that has the specified `id`. operationId: GetRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the backup repository. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: example: mountServer: mountServerId: e22b8842-c454-4036-abd5-f468c3248aaf vPowerNFSEnabled: true vPowerNFSPortSettings: mountPort: 1063 vPowerNFSPort: 2049 writeCacheFolder: C:\ProgramData\Veeam\Backup\IRCache\ tag: D4B5E196F3AD474C99BCDFEF051DAE07 id: d4b5e196-f3ad-474c-99bc-dfef051dae07 type: WinLocal description: Created by TECH\sheila.d.cory repository: advancedSettings: alignDataBlocks: true decompressBeforeStoring: false perVmBackup: false rotatedDrives: false maxTaskCount: 4 path: C:\Backup Repository readWriteRate: 0 hostId: e22b8842-c454-4036-abd5-f468c3248aaf name: Backup Repository 1 schema: $ref: '#/components/schemas/RepositoryModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Get Repository tags: - Repositories x-veeam-authorize: claims: - ViewRepositories put: description: The HTTP PUT request to the `/api/v1/backupInfrastructure/repositories/{id}` path allows you to edit a backup repository that has the specified `id`. operationId: UpdateRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RepositoryModel' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: Infrastructure session has been created to edit the repository. To check the progress, track the session `state`. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Edit Repository tags: - Repositories x-veeam-authorize: claims: - UpdateRepositories /api/v1/backupInfrastructure/repositories/{id}/accessPermissions: get: description: The HTTP GET request to the `/api/v1/backupInfrastructure/repositories/{id}/accessPermissions` path allows you to get access permissions of a repository that has the specified `id`. operationId: GetRepositoryAccessPermissions parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the backup repository. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/RepositoryAccessPermissionsModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Get Repository Access Permissions tags: - Repositories x-veeam-authorize: claims: - ViewRepositoryAccessPermissions put: description: The HTTP PUT request to the `/api/v1/backupInfrastructure/repositories/{id}/accessPermissions` path allows you to edit access permissions of a repository that has the specified `id`. operationId: UpdateRepositoryAccessPermissions parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RepositoryAccessPermissionsModel' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/RepositoryAccessPermissionsModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Edit Repository Access Permissions tags: - Repositories x-veeam-authorize: claims: - UpdateRepositoryAccessPermissions /api/v1/backupInfrastructure/scaleOutRepositories: get: description: The HTTP GET request to the `/api/v1/backupInfrastructure/scaleOutRepositories` path allows you to get an array of all scale-out backup repositories that are added to the backup infrastructure. operationId: GetAllScaleOutRepositories parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: Number of repositories to skip. in: query name: skip schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/ScaleOutRepositoriesFilters' - description: Maximum number of repositories to return. in: query name: limit schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/ScaleOutRepositoriesFilters' - description: Sorts repositories by one of the repository parameters. in: query name: orderColumn schema: $ref: '#/components/schemas/EScaleOutRepositoryFiltersOrderColumn' x-veeam-spec: $ref: '#/components/schemas/ScaleOutRepositoriesFilters' - description: Sorts repositories in the ascending order by the `orderColumn` parameter. in: query name: orderAsc schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/ScaleOutRepositoriesFilters' - description: Filters repositories by the `nameFilter` pattern. The pattern can match any repository parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both. in: query name: nameFilter schema: type: string x-veeam-spec: $ref: '#/components/schemas/ScaleOutRepositoriesFilters' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ScaleOutRepositoriesResult' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get All Scale-Out Backup Repositories tags: - Repositories x-veeam-authorize: claims: - ViewScaleOutRepositories post: description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories` path allows you to add a scale-out backup repository to the backup infrastructure. operationId: CreateScaleOutRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' requestBody: content: application/json: schema: $ref: '#/components/schemas/ScaleOutRepositorySpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: Infrastructure session has been created to add the repository. To check the progress, track the session `state`. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Add Scale-Out Backup Repository tags: - Repositories x-veeam-authorize: claims: - CreateScaleOutRepositories /api/v1/backupInfrastructure/scaleOutRepositories/{id}: delete: description: The HTTP DELETE request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}` path allows you to remove a scale-out backup repository that has the specified `id`. operationId: DeleteScaleOutRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string - description: If *true*, Veeam Backup & Replication will remove backup files. in: query name: deleteBackups schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/DeleteRepositoryFilters' responses: '204': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Scale-out backup repository has been removed. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Remove Scale-Out Backup Repository tags: - Repositories x-veeam-authorize: claims: - DeleteScaleOutRepositories get: description: The HTTP GET request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}` path allows you to get a scale-out backup repository that has the specified `id`. operationId: GetScaleOutRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ScaleOutRepositoryModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Get Scale-Out Backup Repository tags: - Repositories x-veeam-authorize: claims: - ViewScaleOutRepositories put: description: The HTTP PUT request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}` path allows you to edit a scale-out backup repository that has the specified `id`. operationId: UpdateScaleOutRepository parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScaleOutRepositoryModel' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: Infrastructure session has been created to edit the scale-out backup repository. To check the progress, track the session `state`. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Edit Scale-Out Backup Repository tags: - Repositories x-veeam-authorize: claims: - UpdateScaleOutRepositories /api/v1/backupInfrastructure/scaleOutRepositories/{id}/accessPermissions: get: description: The HTTP GET request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/accessPermissions` path allows you to get access permissions of a scale-out backup repository that has the specified `id`. operationId: GetScaleOutRepositoryAccessPermissions parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/RepositoryAccessPermissionsModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Get Scale-Out Backup Repository Access Permissions tags: - Repositories x-veeam-authorize: claims: - ViewRepositoryAccessPermissions put: description: The HTTP PUT request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/accessPermissions` path allows you to edit access permissions of a scale-out backup repository that has the specified `id`. operationId: UpdateScaleOutRepositoryAccessPermissions parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RepositoryAccessPermissionsModel' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/RepositoryAccessPermissionsModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Edit Scale-Out Backup Repository Access Permissions tags: - Repositories x-veeam-authorize: claims: - UpdateRepositoryAccessPermissions /api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableMaintenanceMode: post: description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableMaintenanceMode` path allows you to disable the Maintenance mode for specified extents of a scale-out backup repository that has the specified `id`. operationId: DisableScaleOutExtentMaintenanceMode parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: RepositoryMaintenance session has been created. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Disable Maintenance Mode tags: - Repositories x-veeam-authorize: claims: - DisableRepositoryMaintenanceMode /api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableSealedMode: post: description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/disableSealedMode` path allows you to disable the Sealed mode for specified extents of a scale-out backup repository that has the specified `id`. operationId: DisableScaleOutExtentSealedMode parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: RepositoryMaintenance session has been created. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Disable Sealed Mode tags: - Repositories x-veeam-authorize: claims: - DisableRepositorySealedMode /api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableMaintenanceMode: post: description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableMaintenanceMode` path allows you to enable the Maintenance mode for specified extents of a scale-out backup repository that has the specified `id`. operationId: EnableScaleOutExtentMaintenanceMode parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: RepositoryMaintenance session has been created. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Enable Maintenance Mode tags: - Repositories x-veeam-authorize: claims: - EnableRepositoryMaintenanceMode /api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableSealedMode: post: description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/enableSealedMode` path allows you to enable the Sealed mode for specified extents of a scale-out backup repository that has the specified `id`. operationId: EnableScaleOutExtentSealedMode parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: RepositoryMaintenance session has been created. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Enable Sealed Mode tags: - Repositories x-veeam-authorize: claims: - EnableRepositorySealedMode /api/v1/backupInfrastructure/scaleOutRepositories/{id}/evacuateBackups: post: description: The HTTP POST request to the `/api/v1/backupInfrastructure/scaleOutRepositories/{id}/evacuateBackups` path allows you to evacuate backups from specified performance extents of a scale-out backup repository that has the specified `id`.
Before you evacuate backups from performance extents, you must put them into the Maintenance mode. operationId: EvacuateBackupsFromScaleOutExtent parameters: - $ref: '#/components/parameters/apiVersionParam_2' - description: ID of the scale-out backup repository. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScaleOutExtentMaintenanceSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: RepositoryEvacuate session has been created. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Evacuate Backups from Performance Extent tags: - Repositories x-veeam-authorize: claims: - EvacuateExtentBackups components: schemas: ERepositoryConnectionType: description: Repository connection type (direct or through a gateway server). enum: - Direct - SelectedGateway type: string AmazonS3StorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/AmazonS3StorageAccountModel' bucket: $ref: '#/components/schemas/AmazonS3StorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/AmazonS3StorageProxyApplianceModel' required: - account - bucket - mountServer type: object description: Amazon S3 storage. Error: description: '' required: - type - title - status - errorCode type: object properties: type: type: string format: uri description: An URI reference that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g. using HTML). title: type: string description: A short, summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized) status: type: integer format: int32 description: The HTTP status code generated by the origin server for this occurrence of the problem. minimum: 400 maximum: 600 exclusiveMaximum: true errorCode: description: The error code is a string that uniquely identifies an error condition and should be understood by programs that detect and handle errors by type enum: - AccessDenied - ExpiredToken - InvalidToken - InvalidURI - MethodNotAllowed - NotFound - NotImplemented - ServiceUnavailable - UnexpectedContent - UnknownError type: string details: description: The error message contains a generic description of the error condition in English. It is intended for a human audience type: string instance: description: ID of the object that is involved in the error (or empty) type: string format: uri data: type: object description: Error payload additionalProperties: type: object RepositoryModel: allOf: - discriminator: mapping: AmazonS3: '#/components/schemas/AmazonS3StorageModel' AmazonS3Glacier: '#/components/schemas/AmazonS3GlacierStorageModel' AmazonSnowballEdge: '#/components/schemas/AmazonSnowballEdgeStorageModel' AzureArchive: '#/components/schemas/AzureArchiveStorageModel' AzureBlob: '#/components/schemas/AzureBlobStorageModel' AzureDataBox: '#/components/schemas/AzureDataBoxStorageModel' GoogleCloud: '#/components/schemas/GoogleCloudStorageModel' IBMCloud: '#/components/schemas/IBMCloudStorageModel' LinuxHardened: '#/components/schemas/LinuxHardenedStorageModel' LinuxLocal: '#/components/schemas/LinuxLocalStorageModel' Nfs: '#/components/schemas/NfsStorageModel' S3Compatible: '#/components/schemas/S3CompatibleStorageModel' Smb: '#/components/schemas/SmbStorageModel' WasabiCloud: '#/components/schemas/WasabiCloudStorageModel' WinLocal: '#/components/schemas/WindowsLocalStorageModel' propertyName: type oneOf: - $ref: '#/components/schemas/WindowsLocalStorageModel' - $ref: '#/components/schemas/LinuxLocalStorageModel' - $ref: '#/components/schemas/NfsStorageModel' - $ref: '#/components/schemas/SmbStorageModel' - $ref: '#/components/schemas/AzureBlobStorageModel' - $ref: '#/components/schemas/AzureDataBoxStorageModel' - $ref: '#/components/schemas/AmazonS3StorageModel' - $ref: '#/components/schemas/AmazonSnowballEdgeStorageModel' - $ref: '#/components/schemas/S3CompatibleStorageModel' - $ref: '#/components/schemas/GoogleCloudStorageModel' - $ref: '#/components/schemas/IBMCloudStorageModel' - $ref: '#/components/schemas/AmazonS3GlacierStorageModel' - $ref: '#/components/schemas/AzureArchiveStorageModel' - $ref: '#/components/schemas/WasabiCloudStorageModel' - $ref: '#/components/schemas/LinuxHardenedStorageModel' - $ref: '#/components/schemas/BaseRepositoryModel' RepositoriesSortColumns: type: string enum: - nameAsc - nameDesc - descriptionAsc - descriptionDesc - amazonAccountNameAsc - amazonAccountNameDesc - amazonBucketAsc - amazonBucketDesc - amazonStorageFolderAsc - amazonStorageFolderDesc - regionAsc - regionDesc - encryptionAsc - encryptionDesc NetworkRepositorySettingsModel: description: Repository settings. properties: advancedSettings: $ref: '#/components/schemas/RepositoryAdvancedSettingsModel' enableReadWriteLimit: description: If *true*, reading and writing speed is limited. type: boolean enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer readWriteRate: description: Maximum rate that restricts the total speed of reading and writing data to the backup repository disk. type: integer type: object EConsumptionLimitKind: description: Measurement unit. enum: - TB - PB type: string SessionLink: required: - sessionId type: object properties: sessionId: type: string format: uuid _links: type: array uniqueItems: false items: $ref: '#/components/schemas/Link' S3CompatibleStorageAccountModel: description: Account used to access the S3 compatible storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of a cloud credentials record used to access the storage. format: uuid type: string regionId: description: ID of a region where the storage is located. type: string servicePoint: description: Endpoint address and port number of the storage. type: string required: - servicePoint - regionId - credentialsId - gatewayServer type: object AzureArchiveStorageContainerModel: description: Azure Archive container where backup data is stored. properties: containerName: description: Name of an Azure Archive container. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string required: - containerName - folderName type: object LinuxLocalStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: hostId: description: ID of the server that is used as a backup repository. format: uuid type: string mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/LinuxLocalRepositorySettingsModel' required: - hostId - mountServer - repository type: object description: Linux-based repository. EPlacementPolicyType: description: Type of placement policy. enum: - DataLocality - Performance type: string x-enumDescriptions: DataLocality: Veeam Backup & Replication stores full and incremental backup files to the same performance extent of the scale-out backup repository. Performance: Veeam Backup & Replication stores full and incremental backup files to different performance extents of the scale-out backup repository. S3CompatibleStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/S3CompatibleStorageAccountModel' bucket: $ref: '#/components/schemas/S3CompatibleStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/S3CompatibleProxyModel' required: - account - bucket - mountServer type: object description: S3 compatible storage. EAzureRegionType: description: Region where your Microsoft Azure container is located. enum: - China - Germany - Global - Government type: string LinuxLocalRepositorySettingsModel: description: Repository settings. properties: advancedSettings: $ref: '#/components/schemas/RepositoryAdvancedSettingsModel' enableReadWriteLimit: description: If *true*, reading and writing speed is limited. type: boolean enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer path: description: Path to the folder where backup files are stored. type: string readWriteRate: description: Maximum rate that restricts the total speed of reading and writing data to the backup repository disk. type: integer useFastCloningOnXFSVolumes: description: If *true*, fast cloning on XFS volumes is used. type: boolean type: object EAllowedBackupsType: description: Type of backup files that can be stored on the extent. enum: - All - FullsOnly - IncrementsOnly - None type: string SessionResultModel: description: Session result. properties: isCanceled: description: If *true*, the session has been canceled. type: boolean message: description: Message that explains the session result. type: string result: $ref: '#/components/schemas/ESessionResult' required: - result type: object RepositoryUpdateSpec: required: - name - amazonAccountId - enableEncryption type: object properties: name: maxLength: 255 minLength: 1 type: string description: type: string amazonAccountId: type: string format: uuid password: type: string hint: type: string enableEncryption: type: boolean AzureBlobStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/AzureBlobStorageAccountModel' container: $ref: '#/components/schemas/AzureBlobStorageContainerModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/AzureStorageProxyModel' required: - account - container - mountServer type: object description: Microsoft Azure Blob storage. AmazonS3StorageAccountModel: description: Account used to access the Amazon S3 storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of the cloud credentials record. format: uuid type: string regionType: $ref: '#/components/schemas/EAmazonRegionType' required: - credentialsId - regionType - gatewayServer type: object ObjectStorageConnectionModel: description: Object storage connection settings. properties: connectionType: $ref: '#/components/schemas/ERepositoryConnectionType' gatewayServerIds: description: Array of gateway server IDs. The value is *null* if the connection type is *Direct*. items: format: uuid type: string type: array required: - connectionType type: object ERotatedDriveCleanupMode: description: Cleanup mode: enum: - Disabled - ClearBackupFolder - ClearRepositoryFolder type: string NfsStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/NetworkRepositorySettingsModel' share: $ref: '#/components/schemas/NfsRepositoryShareSettingsModel' required: - mountServer - repository - share type: object description: NFS backup repository. BackupPlacementSettingsModel: properties: allowedBackups: $ref: '#/components/schemas/EAllowedBackupsType' extentId: description: ID of a performance extent. format: uuid type: string required: - extentId - allowedBackups type: object ScaleOutRepositoryModel: properties: archiveTier: $ref: '#/components/schemas/ArchiveTierModel' capacityTier: $ref: '#/components/schemas/CapacityTierModel' description: description: Description of the scale-out backup repository. type: string id: description: ID of the scale-out backup repository. format: uuid type: string name: description: Name of the scale-out backup repository. type: string performanceTier: $ref: '#/components/schemas/PerformanceTierModel' placementPolicy: $ref: '#/components/schemas/PlacementPolicyModel' tag: description: Tag assigned to the scale-out backup repository. type: string required: - id - name - description - performanceTier type: object BackupWindowDayHoursModel: description: Hourly scheme for a day. properties: day: $ref: '#/components/schemas/EDayOfWeek' hours: description: String of 24 hours in the following format:
*1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1*
where *1* means permitted, *0* means denied. type: string required: - day - hours type: object AzureArchiveStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/AzureArchiveStorageAccountModel' container: $ref: '#/components/schemas/AzureArchiveStorageContainerModel' proxyAppliance: $ref: '#/components/schemas/AzureStorageProxyModel' required: - account - container - proxyAppliance type: object description: Microsoft Azure Archive storage. PerformanceExtentSpec: properties: id: description: ID of a backup repository added as a performance extent. format: uuid type: string required: - id type: object ESessionType: description: Type of the session. enum: - Infrastructure - Job - Automation - ConfigurationBackup - RepositoryMaintenance - RepositoryEvacuate - InfrastructureItemDeletion - RestoreVm - InstantRecovery - FirstClassDiskInstantRestore - AzureApplianceDeploy - QuickMigration type: string RepositoriesResult: properties: data: description: Array of backup repositories. items: $ref: '#/components/schemas/RepositoryModel' type: array pagination: $ref: '#/components/schemas/PaginationResult' required: - data - pagination type: object VPowerNFSPortSettingsModel: description: Network ports used by the vPower NFS Service. properties: mountPort: description: Mount port. type: integer vPowerNFSPort: description: vPower NFS port. type: integer type: object ERepositoryFiltersOrderColumn: description: Sorts repositories by one of the repository parameters. enum: - Name - Description - Type - Host - Path type: string ERepositoryExtentStatusType: description: Performance extent status. enum: - Normal - Evacuate - Pending - Sealed - Maintenance - ResyncRequired - TenantEvacuating type: string AzureBlobStorageContainerModel: description: Azure Blob storage container. properties: containerName: description: Container name. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string storageConsumptionLimit: $ref: '#/components/schemas/ObjectStorageConsumptionLimitModel' required: - containerName - folderName type: object Error_2: properties: errorCode: description: The error code is a string that uniquely identifies an error condition and should be understood by programs that detect and handle errors by type enum: - AccessDenied - ExpiredToken - InvalidToken - InvalidURI - MethodNotAllowed - NotFound - NotImplemented - ServiceUnavailable - UnexpectedContent - UnknownError type: string message: description: The error message contains a generic description of the error condition in English. It is intended for a human audience type: string resourceId: description: ID of the object that is involved in the error (or empty) type: string required: - errorCode - message type: object AmazonS3StorageBucketModel: description: Amazon S3 bucket where backup data is stored. properties: bucketName: description: Name of an Amazon S3 bucket. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string immutability: $ref: '#/components/schemas/ObjectStorageImmutabilityModel' infrequentAccessStorage: $ref: '#/components/schemas/AmazonS3IAStorageModel' regionId: description: ID of a region where the Amazon S3 bucket is located. type: string storageConsumptionLimit: $ref: '#/components/schemas/ObjectStorageConsumptionLimitModel' required: - regionId - bucketName - folderName type: object RepositoryStateModel: properties: capacityGB: description: Repository capacity in GB. format: double type: number description: description: Description of the backup repository. type: string freeGB: description: Repository free space in GB. format: double type: number hostId: description: ID of the server that is used as a backup repository. format: uuid type: string hostName: description: Name of the server that is used as a backup repository. type: string id: description: ID of the backup repository. format: uuid type: string name: description: Name of the backup repository. type: string path: description: Path to the folder where backup files are stored. type: string type: $ref: '#/components/schemas/ERepositoryType' usedSpaceGB: description: Repository used space in GB. format: double type: number required: - id - name - type - description - capacityGB - freeGB - usedSpaceGB type: object AzureStorageProxyModel: description: Azure storage proxy appliance. properties: instanceSize: description: Size of the appliance. type: string redirectorPort: description: TCP port used to route requests between the proxy appliance and backup infrastructure components. type: integer resourceGroup: description: Resource group associated with the proxy appliance. type: string subnet: description: Subnet for the proxy appliance. type: string subscriptionId: description: ID that Veeam Backup & Replication assigned to the Azure subscription. format: uuid type: string virtualNetwork: description: Network to which the helper appliance is connected. type: string required: - subscriptionId type: object ObjectStorageConsumptionLimitModel: description: Soft consumption limit for the storage. The limit can be exceeded temporarily. properties: consumptionLimitCount: description: Limit value. type: integer consumptionLimitKind: $ref: '#/components/schemas/EConsumptionLimitKind' isEnabled: description: If *true*, the consumption limit is enabled. type: boolean type: object PerformanceTierModel: description: Performance tier. properties: advancedSettings: $ref: '#/components/schemas/PerformanceTierAdvancedSettingsModel' performanceExtents: description: Array of performance extents. items: $ref: '#/components/schemas/PerformanceExtentModel' type: array required: - performanceExtents type: object ArchiveTierModel: description: Archive tier. properties: advancedSettings: $ref: '#/components/schemas/ArchiveTierAdvancedSettingsModel' archivePeriodDays: description: Number of days after which backup chains on the capacity extent are moved to the archive extent. Specify *0* to offload inactive backup chains on the same day they are created. type: integer extentId: description: ID of an object storage repository added as an archive extent. format: uuid type: string isEnabled: description: If *true*, the archive tier is enabled. type: boolean required: - isEnabled type: object S3CompatibleStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/S3CompatibleStorageAccountModel' bucket: $ref: '#/components/schemas/S3CompatibleStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/S3CompatibleProxyModel' required: - account - bucket - mountServer type: object description: S3 compatible storage. EScaleOutRepositoryFiltersOrderColumn: enum: - Name - Description - Type - Host - Path type: string WasabiCloudStorageAccountModel: description: Account used to access the Wasabi Cloud storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of a cloud credentials record used to access the storage. format: uuid type: string regionId: description: ID of a region where the storage is located. type: string required: - regionId - credentialsId - connectionSettings type: object IBMCloudStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/IBMCloudStorageAccountModel' bucket: $ref: '#/components/schemas/IBMCloudStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/S3CompatibleProxyModel' required: - account - bucket - mountServer type: object description: IBM Cloud storage. CapacityTierModel: description: Capacity tier. properties: copyPolicyEnabled: description: If *true*, Veeam Backup & Replication copies backups from the performance extents to the capacity extent as soon as the backups are created. type: boolean enabled: description: If *true*, the capacity tier is enabled. type: boolean encryption: $ref: '#/components/schemas/BackupStorageSettingsEncryptionModel' extents: description: Array of capacity extents. items: $ref: '#/components/schemas/CapacityExtentModel' type: array movePolicyEnabled: description: If *true*, Veeam Backup & Replication moves backup files that belong to inactive backup chains from the performance extents to the capacity extent. type: boolean offloadWindow: $ref: '#/components/schemas/BackupWindowSettingModel' operationalRestorePeriodDays: description: Number of days after which inactive backup chains on the performance extents are moved to the capacity extent. Specify *0* to offload inactive backup chains on the same day they are created. type: integer overridePolicy: $ref: '#/components/schemas/CapacityTierOverridePolicyModel' required: - enabled type: object EmptySuccessResponse: description: Empty success response (200, 201, 204). type: object ERepositoryType: description: Repository type. enum: - WinLocal - LinuxLocal - Smb - Nfs - AzureBlob - AzureDataBox - AzureArchive - AmazonS3 - AmazonSnowballEdge - AmazonS3Glacier - S3Compatible - GoogleCloud - IBMCloud - ExtendableRepository - DDBoost - ExaGrid - HPStoreOnceIntegration - Quantum - WasabiCloud - LinuxHardened - Infinidat - Fujitsu type: string ScaleOutRepositorySpec: properties: archiveTier: $ref: '#/components/schemas/ArchiveTierModel' capacityTier: $ref: '#/components/schemas/CapacityTierModel' description: description: Description of the scale-out backup repository. type: string name: description: Name of the scale-out backup repository. type: string performanceTier: $ref: '#/components/schemas/PerformanceTierSpec' placementPolicy: $ref: '#/components/schemas/PlacementPolicyModel' tag: description: Tag assigned to the scale-out backup repository. type: string required: - name - description - performanceTier type: object MountServerSettingsModel: description: Settings for the mount server that is used for file-level and application items restore. properties: mountServerId: description: ID of the mount server. format: uuid type: string vPowerNFSEnabled: description: If *true*, the vPower NFS Service is enabled on the mount server. type: boolean vPowerNFSPortSettings: $ref: '#/components/schemas/VPowerNFSPortSettingsModel' writeCacheFolder: description: Path to the folder used for writing cache during mount operations. type: string required: - mountServerId - vPowerNFSEnabled - writeCacheFolder type: object RepositoryShareGatewayModel: description: Settings for the gateway server. properties: autoSelect: description: If *true*, Veeam Backup & Replication automatically selects a gateway server. type: boolean gatewayServerIds: description: Array of gateway server IDs. items: format: uuid type: string type: array required: - autoSelect type: object AmazonS3GlacierStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/AmazonS3StorageAccountModel' bucket: $ref: '#/components/schemas/AmazonS3GlacierStorageBucketModel' proxyAppliance: $ref: '#/components/schemas/AmazonS3StorageProxyApplianceModel' required: - account - bucket - mountServer type: object description: Amazon S3 Glacier storage. IBMCloudStorageAccountModel: description: Account used to access the IBM Cloud storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of a cloud credentials record used to access the storage. format: uuid type: string regionId: description: ID of a region where the storage is located. type: string servicePoint: description: Endpoint address and port number of the storage. type: string required: - servicePoint - regionId - credentialsId - connectionSettings type: object AmazonS3StorageProxyApplianceModel: description: Amazon S3 proxy appliance. properties: ec2InstanceType: description: EC2 instance type for the proxy appliance. type: string redirectorPort: description: TCP port used to route requests between the proxy appliance and backup infrastructure components. type: integer securityGroup: description: Security group associated with the proxy appliance. type: string subnet: description: Subnet for the proxy appliance. type: string vpc: description: Amazon VPC where Veeam Backup & Replication launches the target instance. type: string type: object GoogleCloudStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/GoogleCloudStorageAccountModel' bucket: $ref: '#/components/schemas/GoogleCloudStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' required: - account - bucket - mountServer type: object description: Google Cloud storage. ERepositoryStatesFiltersOrderColumn: description: Orders repositories by the specified column. enum: - Name - Type - Host - Path - CapacityGB - FreeGB - UsedSpaceGB - Description type: string BackupStorageSettingsEncryptionModel: description: Encryption of backup files. properties: encryptionPasswordIdOrNull: description: ID of the password used for encryption. The value is *null* for exported objects. format: uuid type: string encryptionPasswordTag: description: Tag used to identify the password. type: string isEnabled: description: If *true*, the content of backup files is encrypted. type: boolean required: - isEnabled type: object RepositoriesPage: required: - results - totalCount type: object properties: totalCount: format: int32 type: integer results: uniqueItems: false type: array items: $ref: '#/components/schemas/Repository' _links: type: array uniqueItems: false items: $ref: '#/components/schemas/Link' ESessionState: description: State of the session. enum: - Stopped - Starting - Stopping - Working - Pausing - Resuming - WaitingTape - Idle - Postprocessing - WaitingRepository - WaitingSlot type: string AmazonSnowballEdgeStorageBucketModel: description: Amazon S3 bucket. properties: bucketName: description: Name of the Amazon S3 bucket. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string storageConsumptionLimit: $ref: '#/components/schemas/ObjectStorageConsumptionLimitModel' type: object CapacityTierOverridePolicyModel: description: Policy that overrides the move policy if the scale-out backup repository is reaching its capacity. properties: isEnabled: description: If *true*, Veeam Backup & Replication moves oldest backup files sooner if the scale-out backup repository is reaching the threshold. type: boolean overrideSpaceThresholdPercents: description: Space threshold of the scale-out backup repository, in percent. type: integer required: - isEnabled type: object AzureDataBoxStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/AzureDataBoxStorageAccountModel' container: $ref: '#/components/schemas/AzureDataBoxStorageContainerModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer required: - account - container type: object description: Microsoft Azure Data Box storage. WindowsLocalStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: hostId: description: ID of the server that is used as a backup repository. format: uuid type: string mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/WindowsLocalRepositorySettingsModel' required: - hostId - mountServer - repository type: object description: Microsoft Windows-based repository. AzureDataBoxStorageAccountModel: description: Account used to access the Azure Data Box storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of the cloud credentials record. format: uuid type: string serviceEndpoint: description: Service endpoint address of the Azure Data Box device. type: string required: - serviceEndpoint - credentialsId type: object PlacementPolicyModel: description: Backup file placement policy. properties: enforceStrictPlacementPolicy: description: If *true*, the backup job fails in case the placement policy cannot be met. type: boolean settings: description: Placement policy settings. items: $ref: '#/components/schemas/BackupPlacementSettingsModel' type: array type: $ref: '#/components/schemas/EPlacementPolicyType' required: - type type: object EDayOfWeek: description: Day of the week. enum: - monday - tuesday - wednesday - thursday - friday - saturday - sunday type: string Link: required: - rel - href - method type: object properties: rel: type: string href: type: string method: type: string enum: - GET - POST - PUT - DELETE RepositoryStatesFilters: description: Filters repositories by the specified parameters. properties: capacityFilter: description: Filters repositories by repository capacity. format: double type: number freeSpaceFilter: description: Filters repositories by repository free space. format: double type: number idFilter: format: uuid type: string limit: description: Returns the specified number of repositories. format: int32 type: integer nameFilter: description: Filters repositories by the `nameFilter` pattern. The pattern can match any repository parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. type: string orderAsc: description: Sorts repositories in the ascending order by the `orderColumn` parameter. type: boolean orderColumn: $ref: '#/components/schemas/ERepositoryStatesFiltersOrderColumn' skip: description: Skips the specified number of repositories. format: int32 type: integer typeFilter: $ref: '#/components/schemas/ERepositoryType' usedSpaceFilter: description: Filters repositories by repository used space. format: double type: number type: object ScaleOutExtentMaintenanceSpec: properties: repositoryIds: description: Array of repository IDs added as scale-out backup repository extents. items: format: uuid type: string type: array required: - repositoryIds type: object AzureArchiveStorageAccountModel: description: Account used to access the Azure Archive storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of a cloud credentials record used to access the storage. format: uuid type: string regionType: $ref: '#/components/schemas/EAzureRegionType' required: - credentialsId - regionType - connectionSettings type: object BaseRepositoryModel: properties: description: description: Description of the backup repository. type: string id: description: ID of the backup repository. format: uuid type: string name: description: Name of the backup repository. type: string tag: description: Tag that identifies the backup repository. type: string type: $ref: '#/components/schemas/ERepositoryType' type: object WasabiCloudStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/WasabiCloudStorageAccountModel' bucket: $ref: '#/components/schemas/WasabiCloudStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/S3CompatibleProxyModel' required: - account - bucket - mountServer type: object description: Wasabi Cloud storage. RepositoryStatesResult: properties: data: description: Array of repository states. items: $ref: '#/components/schemas/RepositoryStateModel' type: array pagination: $ref: '#/components/schemas/PaginationResult' required: - data - pagination type: object RepositoryBehaviorFilters: properties: overwriteOwner: type: boolean type: object S3CompatibleStorageBucketModel: description: Bucket where backup data is stored. properties: bucketName: description: Bucket name. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string immutability: $ref: '#/components/schemas/ObjectStorageImmutabilityModel' storageConsumptionLimit: $ref: '#/components/schemas/ObjectStorageConsumptionLimitModel' required: - bucketName - folderName type: object BaseRepositorySpec: properties: description: description: Description of the backup repository. type: string name: description: Name of the backup repository. type: string tag: description: Tag that identifies the backup repository. type: string type: $ref: '#/components/schemas/ERepositoryType' type: object LinuxLocalStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: hostId: description: ID of the server that is used as a backup repository. format: uuid type: string mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/LinuxLocalRepositorySettingsModel' required: - hostId - mountServer - repository type: object description: Linux-based repository. PerformanceTierSpec: description: Performance tier. properties: advancedSettings: $ref: '#/components/schemas/PerformanceTierAdvancedSettingsModel' performanceExtents: description: Array of performance extents. items: $ref: '#/components/schemas/PerformanceExtentSpec' type: array required: - performanceExtents type: object SmbStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/NetworkRepositorySettingsModel' share: $ref: '#/components/schemas/SmbRepositoryShareSettingsModel' required: - mountServer - repository - share type: object description: SMB backup repository. AmazonS3IAStorageModel: description: Standard Infrequent Access. properties: isEnabled: description: If *true*, Standard Infrequent Access is enabled. type: boolean singleZoneEnabled: description: If *true*, Amazon S3 One Zone-Infrequent Access is enabled. type: boolean type: object LinuxHardenedRepositorySettingsModel: description: Repository settings. properties: advancedSettings: $ref: '#/components/schemas/RepositoryAdvancedSettingsModel' enableReadWriteLimit: description: If *true*, reading and writing speed is limited. type: boolean enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean makeRecentBackupsImmutableDays: description: Number of days to keep immutable backups. type: integer maxTaskCount: description: Maximum number of concurrent tasks. type: integer path: description: Path to the folder where backup files are stored. type: string readWriteRate: description: Maximum rate that restricts the total speed of reading and writing data to the backup repository disk. type: integer useFastCloningOnXFSVolumes: description: If *true*, fast cloning on XFS volumes is used. type: boolean type: object Repository: required: - id - name - description - amazonAccountId - amazonStorageFolder - enableEncryption type: object properties: id: format: uuid type: string name: type: string description: type: string amazonAccountId: type: string format: uuid amazonStorageFolder: type: string amazonBucketId: type: string format: uuid hint: type: string enableEncryption: type: boolean _embedded: $ref: '#/components/schemas/RepositoryEmbedded' _links: type: array uniqueItems: false items: $ref: '#/components/schemas/Link' AmazonSnowballEdgeStorageAccountModel: description: AWS account used to access the AWS Snowball Edge storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of the cloud credentials record. format: uuid type: string regionId: description: For AWS Snowball Edge, the region is `snow`. type: string servicePoint: description: Service point address and port number of the AWS Snowball Edge device. type: string required: - servicePoint - regionId - credentialsId - gatewayServer type: object WasabiCloudStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/WasabiCloudStorageAccountModel' bucket: $ref: '#/components/schemas/WasabiCloudStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/S3CompatibleProxyModel' required: - account - bucket - mountServer type: object description: Wasabi Cloud storage. CapacityExtentModel: properties: id: description: ID of an object storage repository added as a capacity extent. format: uuid type: string required: - id type: object ScaleOutRepositoriesResult: properties: data: description: Array of scale-out backup repositories. items: $ref: '#/components/schemas/ScaleOutRepositoryModel' type: array pagination: $ref: '#/components/schemas/PaginationResult' required: - data - pagination type: object PaginationResult: description: Pagination settings. properties: count: description: Number of returned results. format: int32 type: integer limit: description: Maximum number of results to return. format: int32 type: integer skip: description: Number of skipped results. format: int32 type: integer total: description: Total number of results. format: int32 type: integer required: - total - count type: object SmbStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/NetworkRepositorySettingsModel' share: $ref: '#/components/schemas/SmbRepositoryShareSettingsModel' required: - mountServer - repository - share type: object description: SMB backup repository. RepositoryAdvancedSettingsModel: description: Advanced settings for the backup repository. properties: RotatedDriveCleanupMode: $ref: '#/components/schemas/ERotatedDriveCleanupMode' alignDataBlocks: description: If *true*, Veeam Backup & Replication aligns VM data saved to a backup file at a 4 KB block boundary. type: boolean decompressBeforeStoring: description: If *true*, Veeam Backup & Replication decompresses backup data blocks before storing to improve deduplication ratios. type: boolean perVmBackup: description: If *true*, Veeam Backup & Replication creates a separate backup file for every VM in the job. type: boolean rotatedDrives: description: If *true*, the repository drive is rotated. type: boolean type: object NfsRepositoryShareSettingsModel: description: Share settings. properties: gatewayServer: $ref: '#/components/schemas/RepositoryShareGatewayModel' sharePath: description: Path to the shared folder that is used as a backup repository. type: string required: - sharePath type: object ArchiveTierAdvancedSettingsModel: description: Advanced settings of the archive tier. properties: archiveDeduplicationEnabled: description: If *true*, each backup is stored as a delta to the previous one. type: boolean costOptimizedArchiveEnabled: description: If *true*, backups are archived as soon as the remaining retention time is above minimum storage period for the repository. type: boolean type: object RepositorySpec: allOf: - discriminator: mapping: AmazonS3: '#/components/schemas/AmazonS3StorageSpec' AmazonS3Glacier: '#/components/schemas/AmazonS3GlacierStorageSpec' AmazonSnowballEdge: '#/components/schemas/AmazonSnowballEdgeStorageSpec' AzureArchive: '#/components/schemas/AzureArchiveStorageSpec' AzureBlob: '#/components/schemas/AzureBlobStorageSpec' AzureDataBox: '#/components/schemas/AzureDataBoxStorageSpec' GoogleCloud: '#/components/schemas/GoogleCloudStorageSpec' IBMCloud: '#/components/schemas/IBMCloudStorageSpec' LinuxHardened: '#/components/schemas/LinuxHardenedStorageSpec' LinuxLocal: '#/components/schemas/LinuxLocalStorageSpec' Nfs: '#/components/schemas/NfsStorageSpec' S3Compatible: '#/components/schemas/S3CompatibleStorageSpec' Smb: '#/components/schemas/SmbStorageSpec' WasabiCloud: '#/components/schemas/WasabiCloudStorageSpec' WinLocal: '#/components/schemas/WindowsLocalStorageSpec' propertyName: type oneOf: - $ref: '#/components/schemas/WindowsLocalStorageSpec' - $ref: '#/components/schemas/LinuxLocalStorageSpec' - $ref: '#/components/schemas/NfsStorageSpec' - $ref: '#/components/schemas/SmbStorageSpec' - $ref: '#/components/schemas/AzureBlobStorageSpec' - $ref: '#/components/schemas/AzureDataBoxStorageSpec' - $ref: '#/components/schemas/AmazonS3StorageSpec' - $ref: '#/components/schemas/AmazonSnowballEdgeStorageSpec' - $ref: '#/components/schemas/S3CompatibleStorageSpec' - $ref: '#/components/schemas/GoogleCloudStorageSpec' - $ref: '#/components/schemas/IBMCloudStorageSpec' - $ref: '#/components/schemas/AmazonS3GlacierStorageSpec' - $ref: '#/components/schemas/AzureArchiveStorageSpec' - $ref: '#/components/schemas/WasabiCloudStorageSpec' - $ref: '#/components/schemas/LinuxHardenedStorageSpec' - $ref: '#/components/schemas/BaseRepositorySpec' AzureBlobStorageAccountModel: description: Account used to access the Azure Blob storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of the cloud credentials record. format: uuid type: string regionType: $ref: '#/components/schemas/EAzureRegionType' required: - credentialsId - regionType - connectionSettings type: object GoogleCloudStorageAccountModel: description: Account used to access the Google Cloud storage. properties: connectionSettings: $ref: '#/components/schemas/ObjectStorageConnectionModel' credentialsId: description: ID of a cloud credentials record used to access the storage. format: uuid type: string regionId: description: ID of a region where the storage bucket is located. type: string required: - credentialsId - regionId - connectionSettings type: object RepositoriesFilters: type: object properties: SearchPattern: type: string Offset: type: integer format: int32 minimum: 0 Limit: type: integer format: int32 minimum: -1 Sort: type: array uniqueItems: false items: $ref: '#/components/schemas/RepositoriesSortColumns' WindowsLocalRepositorySettingsModel: description: Repository settings. properties: advancedSettings: $ref: '#/components/schemas/RepositoryAdvancedSettingsModel' enableReadWriteLimit: description: If *true*, reading and writing speed is limited. type: boolean enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer path: description: Path to the folder where backup files are stored. type: string readWriteRate: description: Maximum rate that restricts the total speed of reading and writing data to the backup repository disk. type: integer type: object AmazonS3GlacierStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/AmazonS3StorageAccountModel' bucket: $ref: '#/components/schemas/AmazonS3GlacierStorageBucketModel' proxyAppliance: $ref: '#/components/schemas/AmazonS3StorageProxyApplianceModel' required: - account - bucket - mountServer type: object description: Amazon S3 Glacier storage. WindowsLocalStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: hostId: description: ID of the server that is used as a backup repository. format: uuid type: string mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/WindowsLocalRepositorySettingsModel' required: - hostId - mountServer - repository type: object description: Microsoft Windows-based repository. DeleteRepositoryFilters: properties: deleteBackups: type: boolean type: object AmazonS3StorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/AmazonS3StorageAccountModel' bucket: $ref: '#/components/schemas/AmazonS3StorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/AmazonS3StorageProxyApplianceModel' required: - account - bucket - mountServer type: object description: Amazon S3 storage. PerformanceTierAdvancedSettingsModel: description: Advanced settings of the performance tier. properties: fullWhenExtentOffline: description: If *true*, Veeam Backup & Replication creates a full backup file instead of an incremental backup file in case the required extent is offline. type: boolean perVmBackup: description: If *true*, Veeam Backup & Replication creates a separate backup file for every VM in the job. type: boolean type: object RepositoryCreateSpec: required: - name - amazonBucketId - amazonAccountId - amazonStorageFolder - enableEncryption type: object properties: name: maxLength: 255 minLength: 1 type: string description: type: string amazonAccountId: type: string format: uuid amazonBucketId: type: string format: uuid amazonStorageFolder: type: string password: type: string hint: type: string enableEncryption: type: boolean AzureDataBoxStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/AzureDataBoxStorageAccountModel' container: $ref: '#/components/schemas/AzureDataBoxStorageContainerModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer required: - account - container type: object description: Microsoft Azure Data Box storage. RepositoryEmbedded: type: object properties: amazonAccount: type: string amazonAccountLink: $ref: '#/components/schemas/Link' region: type: string regionLink: $ref: '#/components/schemas/Link' bucket: type: string bucketLink: $ref: '#/components/schemas/Link' RepositoriesFilters_2: properties: hostIdFilter: description: Filters repositories by ID of the backup server. format: uuid type: string limit: description: Maximum number of repositories to return. format: int32 type: integer nameFilter: description: Filters repositories by the `nameFilter` pattern. The pattern can match any repository parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. type: string orderAsc: description: Sorts repositories in the ascending order by the `orderColumn` parameter. type: boolean orderColumn: $ref: '#/components/schemas/ERepositoryFiltersOrderColumn' pathFilter: description: Filters repositories by path to the folder where backup files are stored. type: string skip: description: Number of repositories to skip. format: int32 type: integer typeFilter: $ref: '#/components/schemas/ERepositoryType' vmbApiFilter: description: Filters repositories by VM Backup API parameters converted to the base64 string. To obtain the string, call the `GetApiProductInfoString` method of VM Backup API. type: string vmbApiPlatform: description: Filters repositories by ID of a platform that you use to communicate with VM Backup API. format: uuid type: string type: object ObjectStorageImmutabilityModel: description: Object storage immutability. properties: daysCount: description: Immutability period. type: integer isEnabled: description: If *true*, storage immutability is enabled. type: boolean type: object AzureDataBoxStorageContainerModel: description: Azure Data Box container where backup data is stored. properties: containerName: description: Container name. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string type: object EAmazonRegionType: description: AWS region type. enum: - China - Global - Government type: string S3CompatibleProxyModel: description: Proxy appliance for the S3 compatible storage. properties: managedServerId: description: ID of a managed server used as a proxy appliance. format: uuid type: string required: - managedServerId type: object RepositoryPasswordValidationResult: required: - isSuccess type: object properties: isSuccess: type: boolean ValidationMessage: type: object properties: severity: enum: - Warning - Error type: string message: type: string contextId: type: string format: uuid IBMCloudStorageBucketModel: description: IBM Cloud bucket where backup data is stored. properties: bucketName: description: Name of an IBM Cloud bucket. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string immutability: $ref: '#/components/schemas/ObjectStorageImmutabilityModel' storageConsumptionLimit: $ref: '#/components/schemas/ObjectStorageConsumptionLimitModel' required: - bucketName - folderName type: object AmazonSnowballEdgeStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/AmazonSnowballEdgeStorageAccountModel' bucket: $ref: '#/components/schemas/AmazonSnowballEdgeStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' required: - account - bucket - mountServer type: object description: AWS Snowball Edge storage. BackupWindowSettingModel: description: Time scheme that defines permitted days and hours for the job to start. properties: days: description: Array of per-day schemes. items: $ref: '#/components/schemas/BackupWindowDayHoursModel' type: array required: - days type: object IBMCloudStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/IBMCloudStorageAccountModel' bucket: $ref: '#/components/schemas/IBMCloudStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/S3CompatibleProxyModel' required: - account - bucket - mountServer type: object description: IBM Cloud storage. AzureArchiveStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/AzureArchiveStorageAccountModel' container: $ref: '#/components/schemas/AzureArchiveStorageContainerModel' proxyAppliance: $ref: '#/components/schemas/AzureStorageProxyModel' required: - account - container - proxyAppliance type: object description: Microsoft Azure Archive storage. NfsStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/NetworkRepositorySettingsModel' share: $ref: '#/components/schemas/NfsRepositoryShareSettingsModel' required: - mountServer - repository - share type: object description: NFS backup repository. RepositoryAccessPermissionsModel: description: Repository access permissions. properties: accessPolicy: $ref: '#/components/schemas/ERepositoryAccessType' accounts: description: (For *AllowExplicit* access policy) Array of accounts that have access to the backup repository. items: type: string type: array encryptBackups: description: If *true*, Veeam Backup & Replication encrypts Veeam Agent backup files stored in the backup repository. type: boolean passwordId: description: ID of the password used for encryption. format: uuid type: string required: - accessPolicy - encryptBackups type: object SessionModel: properties: activityId: description: ID of the activity. format: uuid type: string creationTime: description: Date and time when the session was created. format: date-time type: string endTime: description: Date and time when the session was ended. format: date-time type: string id: description: ID of the session. format: uuid type: string name: description: Name of the session. type: string parentSessionId: description: ID of the parent session. format: uuid type: string progressPercent: description: Progress percentage of the session. type: integer resourceId: description: ID of the resource. format: uuid type: string resourceReference: description: URI of the resource. type: string result: $ref: '#/components/schemas/SessionResultModel' sessionType: $ref: '#/components/schemas/ESessionType' state: $ref: '#/components/schemas/ESessionState' usn: description: Update sequence number. format: int64 type: integer required: - activityId - creationTime - id - name - sessionType - state - usn type: object SmbRepositoryShareSettingsModel: description: Share settings. properties: credentialsId: description: ID of the credentials record used to access the shared folder. format: uuid type: string gatewayServer: $ref: '#/components/schemas/RepositoryShareGatewayModel' sharePath: description: Path to the shared folder that is used as a backup repository. type: string required: - credentialsId - sharePath type: object ERepositoryAccessType: description: Access type. enum: - DenyAll - AllowAll - AllowExplicit type: string ESessionResult: description: Result status. enum: - None - Success - Warning - Failed type: string WasabiCloudStorageBucketModel: description: Wasabi bucket where backup data is stored. properties: bucketName: description: Name of a Wasabi bucket. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string immutability: $ref: '#/components/schemas/ObjectStorageImmutabilityModel' storageConsumptionLimit: $ref: '#/components/schemas/ObjectStorageConsumptionLimitModel' required: - bucketName - folderName type: object ScaleOutRepositoriesFilters: properties: limit: description: Maximum number of repositories to return. format: int32 type: integer nameFilter: description: Filters repositories by the `nameFilter` pattern. The pattern can match any repository parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both. type: string orderAsc: description: Sorts repositories in the ascending order by the `orderColumn` parameter. type: boolean orderColumn: $ref: '#/components/schemas/EScaleOutRepositoryFiltersOrderColumn' skip: description: Number of repositories to skip. format: int32 type: integer type: object RepositoryPasswordValidationSpec: required: - password type: object properties: password: minLength: 1 type: string AmazonS3GlacierStorageBucketModel: description: Amazon S3 Glacier bucket where backup data is stored. properties: bucketName: description: Name of an Amazon S3 Glacier bucket. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string immutabilityEnabled: description: If *true*, storage immutability is enabled. type: boolean regionId: description: ID of a region where the Amazon S3 bucket is located. type: string useDeepArchive: description: If *true*, Glacier Deep Archive is used for backups with the retention policy over 180 days. type: boolean required: - regionId - bucketName - folderName type: object LinuxHardenedStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: hostId: description: ID of the server that is used as a backup repository. format: uuid type: string mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/LinuxHardenedRepositorySettingsModel' required: - hostId - mountServer - repository type: object description: Linux hardened repository. PerformanceExtentModel: properties: id: description: ID of the backup repository added as a performance extent. format: uuid type: string name: description: Name of the backup repository added as a performance extent. type: string status: $ref: '#/components/schemas/ERepositoryExtentStatusType' required: - id - name type: object LinuxHardenedStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: hostId: description: ID of the server that is used as a backup repository. format: uuid type: string mountServer: $ref: '#/components/schemas/MountServerSettingsModel' repository: $ref: '#/components/schemas/LinuxHardenedRepositorySettingsModel' required: - hostId - mountServer - repository type: object description: Linux hardened repository. GoogleCloudStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/GoogleCloudStorageAccountModel' bucket: $ref: '#/components/schemas/GoogleCloudStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' required: - account - bucket - mountServer type: object description: Google Cloud storage. GoogleCloudStorageBucketModel: description: Google Cloud object storage bucket where backup data is stored. properties: bucketName: description: Name of a Google Cloud bucket. type: string folderName: description: Name of the folder that the object storage repository is mapped to. type: string nearlineStorageEnabled: description: If *true*, the nearline storage class is used. type: boolean storageConsumptionLimit: $ref: '#/components/schemas/ObjectStorageConsumptionLimitModel' required: - bucketName - folderName type: object AmazonSnowballEdgeStorageSpec: allOf: - $ref: '#/components/schemas/BaseRepositorySpec' - properties: account: $ref: '#/components/schemas/AmazonSnowballEdgeStorageAccountModel' bucket: $ref: '#/components/schemas/AmazonSnowballEdgeStorageBucketModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' required: - account - bucket - mountServer type: object description: AWS Snowball Edge storage. AzureBlobStorageModel: allOf: - $ref: '#/components/schemas/BaseRepositoryModel' - properties: account: $ref: '#/components/schemas/AzureBlobStorageAccountModel' container: $ref: '#/components/schemas/AzureBlobStorageContainerModel' enableTaskLimit: description: If *true*, the maximum number of concurrent tasks is limited. type: boolean maxTaskCount: description: Maximum number of concurrent tasks. type: integer mountServer: $ref: '#/components/schemas/MountServerSettingsModel' proxyAppliance: $ref: '#/components/schemas/AzureStorageProxyModel' required: - account - container - mountServer type: object description: Microsoft Azure Blob storage. responses: NotFound: content: application/json: schema: $ref: '#/components/schemas/Error_2' description: Not found. No object was found with the path parameter specified in the request. BadRequest: content: application/json: schema: $ref: '#/components/schemas/Error_2' description: Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid. Forbidden: content: application/json: schema: $ref: '#/components/schemas/Error_2' description: Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request. Unauthorized: content: application/json: schema: $ref: '#/components/schemas/Error_2' description: Unauthorized. The authorization header has been expected but not found (or found but is expired). InternalServerError: content: application/json: schema: $ref: '#/components/schemas/Error_2' description: Internal server error. The request has been received but could not be completed because of an internal error at the server side. parameters: apiVersionParam_2: description: Version and revision of the client REST API. Must be in the following format: `-`. in: header name: x-api-version required: true schema: default: 1.1-rev0 type: string apiVersionParam: name: x-api-version in: header required: true schema: type: string default: 1.0-rev0 securitySchemes: Bearer: name: Authorization in: header type: apiKey description: Bearer \