Veeam Token API
The Token API from Veeam — 2 operation(s) for token.
The Token API from Veeam — 2 operation(s) for token.
openapi: 3.0.0
info:
version: 1.0-rev0
title: Veeam Backup for AWS public API 1.0 Agents Token API
description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- name: Token
paths:
/api/v1/token:
post:
tags:
- Token
operationId: Authenticate
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
grant_type:
description: Authentication grant type
type: string
enum:
- password
- refresh_token
- authorization_code
- mfa
x-veeam-spec:
$ref: '#/components/schemas/LoginSpec'
username:
description: User name (required for the 'password' grant type)
type: string
x-veeam-spec:
$ref: '#/components/schemas/LoginSpec'
password:
description: Password (required for the 'password' grant type)
type: string
format: password
x-veeam-spec:
$ref: '#/components/schemas/LoginSpec'
refresh_token:
description: Refresh token (required for the 'refresh_token' grant type)
type: string
x-veeam-spec:
$ref: '#/components/schemas/LoginSpec'
code:
description: Authorization code (required for the 'authorization_code' grant type)
type: string
x-veeam-spec:
$ref: '#/components/schemas/LoginSpec'
mfa_token:
description: MFA token (required for the 'mfa' grant type)
type: string
x-veeam-spec:
$ref: '#/components/schemas/LoginSpec'
mfa_code:
description: Verification code (required for the 'mfa' grant type)
type: string
x-veeam-spec:
$ref: '#/components/schemas/LoginSpec'
required:
- grant_type
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RESTLogin'
application/problem+json:
schema:
$ref: '#/components/schemas/RESTLogin'
'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'
security: []
delete:
tags:
- Token
operationId: SignOut
parameters:
- $ref: '#/components/parameters/apiVersionParam'
responses:
'204':
description: Success
'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/token/authorizationCode:
post:
tags:
- Token
operationId: CreateAuthorizationCode
parameters:
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationCode'
application/problem+json:
schema:
$ref: '#/components/schemas/AuthorizationCode'
'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:
LoginSpec:
required:
- grant_type
type: object
properties:
username:
type: string
password:
type: string
format: password
refresh_token:
type: string
code:
type: string
description: required if grant_type = authorization_code
grant_type:
$ref: '#/components/schemas/LoginGrantTypes'
mfa_token:
type: string
mfa_code:
type: string
RESTLogin:
type: object
properties:
access_token:
type: string
token_type:
type: string
refresh_token:
type: string
expires_in:
format: int32
type: integer
.issued:
format: date-time
type: string
.expires:
format: date-time
type: string
username:
type: string
roleName:
type: string
mfa_enabled:
type: boolean
mfa_token:
type: string
LoginGrantTypes:
enum:
- password
- refresh_token
- authorization_code
- mfa
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
AuthorizationCode:
required:
- code
properties:
code:
type: string
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\>