openapi: 3.0.0 info: version: 1.0-rev0 title: Veeam Backup for AWS public API 1.0 Agents General Options API description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery. security: - Bearer: [] tags: - description: The General Options section defines paths and operations for retrieving and editing general settings of Veeam Backup & Replication.
NOTE
In the current version of the REST API, you can configure notification settings only.
name: General Options paths: /api/v1/generalOptions: get: description: The HTTP GET request to the `/api/v1/generalOptions` path allows you to get notification settings of Veeam Backup & Replication. operationId: GetGeneralOptions parameters: - $ref: '#/components/parameters/apiVersionParam' responses: '200': content: application/json: example: emailSettings: sendDailyReportsAt: '2019-01-01T22:00:00+01:00' smtpServerName: '' subject: '[%JobResult%] %JobName% (%ObjectCount% objects) %Issues%' advancedSmtpOptions: SSLEnabled: false authRequred: false port: 25 timeoutMs: 100000 from: '' isEnabled: false notifyOnFailure: true notifyOnLastRetry: true to: '' notifyOnSuccess: true notifyOnWarning: true notifications: notifyOnUpdates: true skipVMSpaceThreshold: 5 skipVMSpaceThresholdEnabled: true storageSpaceThreshold: 10 storageSpaceThresholdEnabled: true datastoreSpaceThreshold: 10 datastoreSpaceThresholdEnabled: true notifyOnSupportExpiration: true schema: $ref: '#/components/schemas/GeneralOptionsModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Get Notification Settings tags: - General Options x-veeam-authorize: claims: - ViewGeneralOptions put: description: The HTTP PUT request to the `/api/v1/generalOptions` path allows you to edit notification settings of Veeam Backup & Replication. operationId: UpdateGeneralOptions parameters: - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json: example: emailSettings: smtpServerName: '' advancedSmtpOptions: SSLEnabled: true authRequred: true credentialsId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 port: 2425 timeoutMs: 100000 from: '' notifyOnFailure: true notifyOnWarning: true sendDailyReportsAt: 2022-01-01 22:00:00 isEnabled: true notifyOnLastRetry: true notifyOnSuccess: true subject: '[%JobResult%] %JobName% (%ObjectCount% objects) %Issues%' to: '' notifications: datastoreSpaceThresholdEnabled: true notifyOnSupportExpiration: true notifyOnUpdates: true skipVMSpaceTreshold: 5 skipVMSpaceTresholdEnabled: true storageSpaceThreshold: 15 storageSpaceThresholdEnabled: true datastoreSpaceThreshold: 13 schema: $ref: '#/components/schemas/GeneralOptionsModel' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/GeneralOptionsModel' description: Notification settings have been updated. '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 Notification Settings tags: - General Options x-veeam-authorize: claims: - UpdateGeneralOptions components: schemas: AdvancedSmtpOptionsModel: description: Advanced global email notification settings. properties: SSLEnabled: description: If *true*, secure connection for email operations is used. type: boolean authRequired: description: If *true*, the `credentialsId` credentials are used to connect to the SMTP server. type: boolean credentialsId: description: ID of the credentials used to connect to the server. format: uuid type: string port: description: Port number for the SMTP server. format: int32 type: integer timeoutMs: description: Connection timeout for the SMTP server. format: int32 type: integer required: - port - timeoutMs - SSLEnabled - authRequired type: object GeneralOptionsModel: properties: emailSettings: $ref: '#/components/schemas/GeneralOptionsEmailNotificationsModel' notifications: $ref: '#/components/schemas/GeneralOptionsNotificationsModel' type: object GeneralOptionsNotificationsModel: description: Other notifications such as notifications on low disk space, support contract expiration, and available updates. properties: datastoreSpaceThreshold: description: Space threshold of production datastore, in percent. format: int32 type: integer datastoreSpaceThresholdEnabled: description: If *true*, notifications about critical amount of free space in production datastore are enabled. type: boolean notifyOnSupportExpiration: description: If *true*, notifications about support contract expiration are enabled. type: boolean notifyOnUpdates: description: If *true*, notifications about updates are enabled. type: boolean skipVMSpaceThreshold: description: Space threshold of production datastore, in percent. format: int32 type: integer skipVMSpaceThresholdEnabled: description: If *true* and the `skipVMSpaceThreshold` threshold is reached, Veeam Backup & Replication terminates backup and replication jobs working with production datastores before VM snapshots are taken. type: boolean storageSpaceThreshold: description: Space threshold of backup storage, in percent. format: int32 type: integer storageSpaceThresholdEnabled: description: If *true*, notifications about critical amount of free space in backup storage are enabled. type: boolean required: - storageSpaceThresholdEnabled - storageSpaceThreshold - datastoreSpaceThresholdEnabled - datastoreSpaceThreshold - skipVMSpaceThresholdEnabled - skipVMSpaceThreshold - notifyOnSupportExpiration - notifyOnUpdates type: object GeneralOptionsEmailNotificationsModel: description: Global email notification settings and job notifications. properties: advancedSmtpOptions: $ref: '#/components/schemas/AdvancedSmtpOptionsModel' from: description: Email address from which email notifications must be sent. type: string isEnabled: description: If *true*, global email notification settings are enabled. type: boolean notifyOnFailure: description: If *true*, email notifications are sent when the job fails. type: boolean notifyOnLastRetry: description: If *true*, email notifications are sent about the final job status only (not per every job retry). type: boolean notifyOnSuccess: description: If *true*, email notifications are sent when the job completes successfully. type: boolean notifyOnWarning: description: If *true*, email notifications are sent when the job completes with a warning. type: boolean sendDailyReportsAt: description: Time when Veeam Backup & Replication sends daily email reports. format: date-time type: string smtpServerName: description: Full DNS name or IP address of the SMTP server. type: string subject: description: Notification subject. Use the following variables in the subject: type: string to: description: Recipient email addresses. Use a semicolon to separate multiple addresses. type: string required: - isEnabled - smtpServerName - advancedSmtpOptions - from - to - subject - sendDailyReportsAt - notifyOnSuccess - notifyOnWarning - notifyOnFailure - notifyOnLastRetry type: object Error: 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 responses: InternalServerError: content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. The request has been received but could not be completed because of an internal error at the server side. BadRequest: content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid. Unauthorized: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized. The authorization header has been expected but not found (or found but is expired). NotFound: content: application/json: schema: $ref: '#/components/schemas/Error' description: Not found. No object was found with the path parameter specified in the request. Forbidden: content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request. parameters: apiVersionParam: 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 securitySchemes: Bearer: name: Authorization in: header type: apiKey description: Bearer \