Veeam Licensing API
The Licensing API from Veeam — 5 operation(s) for licensing.
The Licensing API from Veeam — 5 operation(s) for licensing.
openapi: 3.0.0
info:
version: 1.0-rev0
title: Veeam Backup for AWS public API 1.0 Agents Licensing API
description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- name: Licensing
paths:
/api/v1/licensing/license:
get:
x-veeam-authorize:
roles:
- Portal Administrator
tags:
- Licensing
operationId: GetLicense
parameters:
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LicenseInfo'
application/problem+json:
schema:
$ref: '#/components/schemas/LicenseInfo'
'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'
'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'
post:
x-veeam-authorize:
roles:
- Portal Administrator
tags:
- Licensing
operationId: InstallLicense
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
licenseFile:
description: The .lic license to upload.
type: string
format: binary
x-veeam-spec:
$ref: '#/components/schemas/UploadLicenseSpec'
required:
- licenseFile
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LicenseInfo'
application/problem+json:
schema:
$ref: '#/components/schemas/LicenseInfo'
'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'
'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
tags:
- Licensing
operationId: RemoveLicense
parameters:
- $ref: '#/components/parameters/apiVersionParam'
responses:
'204':
description: Deleted
content:
application/json:
schema:
$ref: '#/components/schemas/EmptySuccessResponse'
application/problem+json:
schema:
$ref: '#/components/schemas/EmptySuccessResponse'
'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'
'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/licensing/license/export:
post:
x-veeam-authorize:
roles:
- Portal Administrator
tags:
- Licensing
operationId: ExportLicense
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'
'403':
description: Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
content:
text/csv:
schema:
$ref: '#/components/schemas/Error'
application/xml:
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:
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/licensing/licensedWorkloads:
get:
x-veeam-authorize:
roles:
- Portal Administrator
tags:
- Licensing
operationId: GetLicensedWorkloads
parameters:
- name: Offset
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/LicensedWorkloadsFilters'
schema:
type: integer
format: int32
minimum: 0
- name: Limit
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/LicensedWorkloadsFilters'
schema:
type: integer
format: int32
minimum: -1
- name: Sort
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/LicensedWorkloadsFilters'
explode: true
schema:
type: array
items:
type: string
enum:
- nameAsc
- nameDesc
- lastBackupAsc
- lastBackupDesc
uniqueItems: false
- name: SearchPattern
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/LicensedWorkloadsFilters'
schema:
type: string
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LicensedWorkloadsPage'
application/problem+json:
schema:
$ref: '#/components/schemas/LicensedWorkloadsPage'
'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'
'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/licensing/alerts:
get:
x-veeam-authorize:
roles:
- Portal Administrator
tags:
- Licensing
operationId: GetAllLicenseNotifications
parameters:
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LicenseNotifications'
application/problem+json:
schema:
$ref: '#/components/schemas/LicenseNotifications'
'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/licensing/alerts/resolve:
post:
x-veeam-authorize:
roles:
- Portal Administrator
tags:
- Licensing
operationId: ResolveLicenseNotifications
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResolveNotificationsSpec'
required: true
responses:
'204':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/EmptySuccessResponse'
application/problem+json:
schema:
$ref: '#/components/schemas/EmptySuccessResponse'
'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'
components:
schemas:
Link:
required:
- rel
- href
- method
type: object
properties:
rel:
type: string
href:
type: string
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
LicenseNotifications:
required:
- results
type: object
properties:
results:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/LicenseNotification'
_links:
type: array
uniqueItems: false
items:
$ref: '#/components/schemas/Link'
LicensedWorkloadsSortColumns:
type: string
enum:
- nameAsc
- nameDesc
- lastBackupAsc
- lastBackupDesc
LicenseInfo:
type: object
properties:
licenseType:
enum:
- Free
- Subscription
- Marketplace
- Managed
type: string
instancesUses:
format: double
type: number
instances:
format: int32
type: integer
licensedTo:
type: string
licenseExpires:
format: date-time
type: string
licenseId:
type: string
supportId:
type: string
_links:
type: array
uniqueItems: false
items:
$ref: '#/components/schemas/Link'
UploadLicenseSpec:
type: object
required:
- licenseFile
properties:
licenseFile:
type: string
format: binary
x-veeam-type:
type: formfile
description: The .lic license to upload.
EmptySuccessResponse:
description: Empty succes response ( 200, 201, 204 )
type: object
LicenseNotification:
required:
- notificationType
- notificationSeverity
- message
type: object
properties:
notificationType:
$ref: '#/components/schemas/LicenseNotificationTypes'
notificationSeverity:
$ref: '#/components/schemas/LicenseNotificationSeverities'
message:
type: string
replies:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/LicenseNotificationReply'
LicenseNotificationReply:
required:
- replyId
- notificationType
- replyText
type: object
properties:
replyId:
type: string
format: uuid
notificationType:
$ref: '#/components/schemas/LicenseNotificationTypes'
replyText:
type: string
LicensedWorkloadsPage:
required:
- totalCount
- results
type: object
properties:
totalCount:
format: int32
type: integer
results:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/LicensedWorkload'
_links:
type: array
uniqueItems: false
items:
$ref: '#/components/schemas/Link'
LicensedWorkload:
type: object
properties:
id:
format: uuid
type: string
name:
type: string
lastBackupTime:
format: date-time
type: string
_links:
type: array
uniqueItems: false
items:
$ref: '#/components/schemas/Link'
LicenseNotificationSeverities:
enum:
- Information
- Warning
- Error
type: string
LicenseNotificationTypes:
enum:
- Expiration
- Exceed
- Marketplace
type: string
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
ResolveNotificationsSpec:
required:
- notificationsToResolve
type: object
properties:
notificationsToResolve:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/LicenseNotificationTypes'
selectedReplies:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/LicenseNotificationReply'
LicensedWorkloadsFilters:
type: object
properties:
searchPattern:
type: string
offset:
type: integer
format: int32
minimum: 0
limit:
type: integer
format: int32
minimum: -1
sort:
type: array
items:
$ref: '#/components/schemas/LicensedWorkloadsSortColumns'
uniqueItems: false
parameters:
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 \<JWT\>