Veeam Users API

The Users API from Veeam — 12 operation(s) for users.

OpenAPI Specification

veeam-users-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0-rev0
  title: Veeam Backup for AWS public API 1.0 Agents Users API
  description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- name: Users
paths:
  /api/v1/users:
    get:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: UsersGetAll
      parameters:
      - name: SearchPattern
        in: query
        required: false
        x-veeam-spec:
          $ref: '#/components/schemas/UsersFilters'
        schema:
          type: string
      - name: Sort
        in: query
        required: false
        x-veeam-spec:
          $ref: '#/components/schemas/UsersFilters'
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - nameAsc
            - nameDesc
            - descriptionAsc
            - descriptionDesc
            - isDefaultAsc
            - isDefaultDesc
            - mfaEnabledAsc
            - mfaEnabledDesc
          uniqueItems: false
      - name: Offset
        in: query
        required: false
        x-veeam-spec:
          $ref: '#/components/schemas/UsersFilters'
        schema:
          type: integer
          format: int32
          minimum: 0
      - name: Limit
        in: query
        required: false
        x-veeam-spec:
          $ref: '#/components/schemas/UsersFilters'
        schema:
          type: integer
          format: int32
          minimum: -1
      - $ref: '#/components/parameters/apiVersionParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersPage'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UsersPage'
        '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'
    post:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: CreateUser
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserCreateSpec'
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreateSpec'
          text/json:
            schema:
              $ref: '#/components/schemas/UserCreateSpec'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserCreateSpec'
          application/csp-report:
            schema:
              $ref: '#/components/schemas/UserCreateSpec'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/User'
        '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/users/{userId}:
    get:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: UsersGetByName
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/apiVersionParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/User'
        '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'
    put:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: UpdateUser
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserUpdateSpec'
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateSpec'
          text/json:
            schema:
              $ref: '#/components/schemas/UserUpdateSpec'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserUpdateSpec'
          application/csp-report:
            schema:
              $ref: '#/components/schemas/UserUpdateSpec'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/User'
        '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:
      - Users
      operationId: DeleteUser
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/apiVersionParam'
      responses:
        '204':
          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'
        '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/users/validateName:
    post:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: ValidateName
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserNameValidationSpec'
          application/json:
            schema:
              $ref: '#/components/schemas/UserNameValidationSpec'
          text/json:
            schema:
              $ref: '#/components/schemas/UserNameValidationSpec'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserNameValidationSpec'
          application/csp-report:
            schema:
              $ref: '#/components/schemas/UserNameValidationSpec'
      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'
        '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/users/validateDescription:
    post:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: ValidateDescription
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserDescriptionValidationSpec'
          application/json:
            schema:
              $ref: '#/components/schemas/UserDescriptionValidationSpec'
          text/json:
            schema:
              $ref: '#/components/schemas/UserDescriptionValidationSpec'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserDescriptionValidationSpec'
          application/csp-report:
            schema:
              $ref: '#/components/schemas/UserDescriptionValidationSpec'
      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'
        '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/users/validatePassword:
    post:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: ValidatePassword
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserPasswordValidationSpec'
          application/json:
            schema:
              $ref: '#/components/schemas/UserPasswordValidationSpec'
          text/json:
            schema:
              $ref: '#/components/schemas/UserPasswordValidationSpec'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserPasswordValidationSpec'
          application/csp-report:
            schema:
              $ref: '#/components/schemas/UserPasswordValidationSpec'
      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'
        '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/users/{userId}/enableMfa:
    post:
      tags:
      - Users
      operationId: EnableMfa
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserMfaSetup'
          application/json:
            schema:
              $ref: '#/components/schemas/UserMfaSetup'
          text/json:
            schema:
              $ref: '#/components/schemas/UserMfaSetup'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserMfaSetup'
          application/csp-report:
            schema:
              $ref: '#/components/schemas/UserMfaSetup'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserMfaData'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UserMfaData'
        '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/users/{userId}/disableMfa:
    post:
      tags:
      - Users
      operationId: DisableMfa
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - $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'
        '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/users/{userId}/acceptMfa:
    post:
      tags:
      - Users
      operationId: AcceptMfa
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserMfaAccept'
          application/json:
            schema:
              $ref: '#/components/schemas/UserMfaAccept'
          text/json:
            schema:
              $ref: '#/components/schemas/UserMfaAccept'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserMfaAccept'
          application/csp-report:
            schema:
              $ref: '#/components/schemas/UserMfaAccept'
      responses:
        '201':
          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'
        '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/users/isFirstLogin:
    get:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: IsFirstLogin
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IsFirstLoginResult'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/IsFirstLoginResult'
        '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'
      security: []
  /api/v1/users/checkInstanceId:
    post:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: CheckInstance
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckInstanceIdSpec'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckInstanceIdResult'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/CheckInstanceIdResult'
        '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'
      security: []
  /api/v1/users/createDefaultUser:
    post:
      x-veeam-authorize:
        roles:
        - Portal Administrator
      tags:
      - Users
      operationId: CreateDefaultUser
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DefaultUserSpec'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/User'
        '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

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/veeam/refs/heads/main/openapi/veeam-users-api-openapi.yml