openapi: 3.0.1
info:
  title: X360Recover API
  description: Axcient Public X360Recover API Documentation
  version: 0.3.1
servers:
- url: https://axapi.axcient.com/x360recover
  description: Production
security:
- api_key: []
tags:
- name: vault
  description: These requests are used for managing vaults
- name: device
  description: These requests are used for managing devices
- name: job
  description: These requests are used for managing jobs
- name: client
  description: These requests are used for managing clients
paths:
  /vault/{vault_id}:
    get:
      tags:
      - vault
      summary: Returns vault information by its ID
      description: This request returns information about vault and assigned devices.
      operationId: get_vault_by_id
      parameters:
      - $ref: '#/components/parameters/VaultIdParam'
      responses:
        '200':
          description: A JSON vault information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_vault'
        '400':
          description: The specified vault ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A vault with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.vaults_controller
  /appliance/{appliance_id}:
    get:
      tags:
      - appliance
      summary: Returns appliance information by its ID
      description: This request returns information about appliance and assigned devices.
      operationId: get_appliance_by_id
      parameters:
      - $ref: '#/components/parameters/ApplianceIdParam'
      - name: include_devices
        in: query
        description: Return device list for the appliance if True
        required: false
        example: false
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: A JSON appliance information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_appliance'
        '400':
          description: The specified appliance ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: An appliance with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.appliances_controller
  /vault/{vault_id}/threshold/connectivity:
    get:
      tags:
      - vault
      summary: Returns information about vault threshold by vault ID
      description: This request returns information about all available vault thresholds.
      operationId: get_threshold_by_vault_id
      parameters:
      - $ref: '#/components/parameters/VaultIdParam'
      responses:
        '200':
          description: A JSON information about thresholds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vault_threshold_body'
        '400':
          description: The specified vault ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A vault with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.vaults_controller
    post:
      tags:
      - vault
      summary: Allows to set vault threshold by vault ID
      description: This request allows to change all available vault thresholds.
      operationId: set_threshold_by_vault_id
      parameters:
      - $ref: '#/components/parameters/VaultIdParam'
      requestBody:
        description: Optional description in *Markdown*
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/vault_threshold_body'
      responses:
        '200':
          description: A JSON information about thresholds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vault_threshold_body'
        '400':
          description: The specified vault ID or threshold value is invalid (not a
            number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A vault with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.vaults_controller
  /device/{device_id}/autoverify:
    get:
      tags:
      - device
      summary: Returns information about AutoVerify for the given protected system
      description: Returns information about AutoVerify for the given protected system
        by it's id.
      operationId: get_device_autoverify_results_by_id_org_level
      parameters:
      - $ref: '#/components/parameters/DeviceIdParam'
      responses:
        '200':
          description: A JSON information about AutoVerify results
          content:
            application/json:
              schema:
                type: array
                description: List of Autoverify results
                items:
                  $ref: '#/components/schemas/org_level_machine_autoverify_details'
                x-content-type: application/json
        '400':
          description: The specified device ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A device with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.devices_controller
  /device/{device_id}/restore_point:
    get:
      tags:
      - device
      summary: Returns information about device's restore points grouped by Cloud
        Vaults is replicated on
      description: Returns information about device's restore points grouped by Cloud
        Vaults is replicated on
      operationId: get_device_vault_restore_point_by_id_org_level
      parameters:
      - $ref: '#/components/parameters/DeviceIdParam'
      responses:
        '200':
          description: A JSON information about device's restore points on their Cloud
            Vaults
          content:
            application/json:
              schema:
                type: array
                description: List of Restore Points on their Cloud Vaults
                items:
                  $ref: '#/components/schemas/machine_restore_points'
                x-content-type: application/json
        '400':
          description: The specified device ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A device with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.devices_controller
  /device/{device_id}:
    get:
      tags:
      - device
      summary: Returns information about device by device ID
      description: This request returns information about device by it's id.
      operationId: get_device_by_id_org_level
      parameters:
      - $ref: '#/components/parameters/DeviceIdParam'
      responses:
        '200':
          description: A JSON information about device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_device'
        '400':
          description: The specified device ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A device with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.devices_controller
  /device:
    get:
      tags:
      - device
      summary: Returns information about all devices
      description: This request returns information about all devices
      operationId: get_devices_by_org_id_org_level
      parameters:
      - name: limit
        in: query
        description: Records limit for pagination
        required: false
        example: 5
        schema:
          type: integer
          format: int64
      - name: offset
        in: query
        description: Records offset for pagination
        required: false
        example: 10
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: A JSON information about device
          content:
            application/json:
              schema:
                type: array
                description: List of devices
                items:
                  $ref: '#/components/schemas/org_level_device'
                x-content-type: application/json
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A device with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.devices_controller
  /client/{client_id}/device:
    get:
      tags:
      - device
      summary: Returns information about device by service ID
      description: This request returns information about all devices for this service
        or client.
      operationId: get_devices_by_client_id
      parameters:
      - $ref: '#/components/parameters/ClientIdParam'
      - $ref: '#/components/parameters/ServiceIdParam'
      - name: d2c_only
        in: query
        description: Include D2C devices only.
        required: false
        style: form
        explode: false
        example: true
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: A JSON information about devices
          content:
            application/json:
              schema:
                type: array
                description: List of devices
                items:
                  $ref: '#/components/schemas/org_level_device'
                x-content-type: application/json
        '400':
          description: The specified SID is invalid (string).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A service with the specified SID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.devices_controller
  /client/{client_id}/device/{device_id}/job/{job_id}:
    get:
      tags:
      - job
      summary: Returns information about job by ID
      description: This request returns information about job by it's ID.
      operationId: get_job_by_id_org_level
      parameters:
      - $ref: '#/components/parameters/ClientIdParam'
      - $ref: '#/components/parameters/DeviceIdParam'
      - $ref: '#/components/parameters/JobIdParam'
      responses:
        '200':
          description: A JSON information about job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_jobs_response'
        '400':
          description: The specified job ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A job with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.jobs_controller
  /client/{client_id}/device/{device_id}/job/{job_id}/history:
    get:
      tags:
      - job
      summary: Returns information about job history for specified job
      description: This request returns information about job history by it's job
        ID.
      operationId: get_job_history_org_level
      parameters:
      - $ref: '#/components/parameters/ClientIdParam'
      - $ref: '#/components/parameters/DeviceIdParam'
      - $ref: '#/components/parameters/JobIdParam'
      - name: limit
        in: query
        description: Records limit for pagination, defaults to 8000
        required: false
        example: 5
        schema:
          type: integer
          format: int64
          minimum: 1
          maximum: 8000
          default: 8000
      - name: offset
        in: query
        description: Records offset for pagination
        required: false
        example: 10
        schema:
          type: integer
          format: int64
      - name: starttime_begin
        in: query
        description: unix timestamp of minimum backup start time value
        required: false
        example: 1730281189
        schema:
          type: integer
          format: int64
      - name: status
        in: query
        description: Job status filter
        required: false
        schema:
          type: string
          enum:
          - in_progress
          - initial
          - successful
          - failed
      responses:
        '200':
          description: A JSON information about job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job_history'
        '400':
          description: The specified job ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A job with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.jobs_controller
  /client/{client_id}/device/{device_id}/job:
    get:
      tags:
      - job
      summary: Returns information about jobs by device ID
      description: This request returns information about all jobs for this device.
      operationId: get_jobs_by_device_id_org_level
      parameters:
      - $ref: '#/components/parameters/ClientIdParam'
      - $ref: '#/components/parameters/DeviceIdParam'
      responses:
        '200':
          description: A JSON information about jobs
          content:
            application/json:
              schema:
                type: array
                description: List of jobs
                items:
                  $ref: '#/components/schemas/org_level_jobs_response'
                x-content-type: application/json
        '400':
          description: The specified device ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A device with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.jobs_controller
  /vault:
    get:
      tags:
      - vault
      summary: Returns vaults information by organization ID
      description: This request returns information about vaults and assigned devices.
      operationId: get_vaults
      parameters:
      - name: vault_type
        in: query
        description: Filter only private or only cloud vaults
        required: false
        example: Private
        schema:
          type: string
          enum:
          - Private
          - Cloud
      - name: active
        in: query
        description: Filter by active state
        required: false
        example: false
        schema:
          type: boolean
      - name: with_url
        in: query
        description: Filter by URL presence
        required: false
        example: false
        schema:
          type: boolean
      - name: limit
        in: query
        description: Max amount of vaults in response
        required: false
        example: 5
        schema:
          type: integer
          format: int64
      - name: include_devices
        in: query
        description: Return device list for each vault if True
        required: false
        example: true
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: A JSON information of organization's vaults
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_vault'
        '400':
          description: The specified organization ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A organization with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.vaults_controller
  /client/{client_id}:
    get:
      tags:
      - client
      summary: Returns the client information for organization related to the user
        by client ID
      description: This request returns information about the client and its health.
      operationId: get_clients_by_client_id
      parameters:
      - $ref: '#/components/parameters/ClientIdParam'
      - name: include_appliances
        in: query
        description: Include short appliances information to response or not
        required: false
        style: form
        explode: false
        example: true
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: A JSON information of organization's clients
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_client'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A organization for issued user is not found
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.clients_controller
  /client:
    get:
      tags:
      - client
      summary: Returns clients information for organization related to a user
      description: This request returns information about clients and their health.
      operationId: get_clients
      parameters:
      - name: include_appliances
        in: query
        description: Include short appliances information to response or not
        required: false
        style: form
        explode: false
        example: true
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: A JSON information of organization's clients
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_client'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A organization for issued user is not found
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.clients_controller
  /client/{client_id}/appliance:
    get:
      tags:
      - appliance
      summary: Returns list of appliances belonging to the provided client
      description: This request returns list of appliances belonging to the provided
        client.
      operationId: get_appliances_by_client_id
      parameters:
      - $ref: '#/components/parameters/ClientIdParam'
      - name: include_devices
        in: query
        description: Return device list for each appliances if True
        required: false
        example: true
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: A JSON information with list of appliances
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_appliance'
        '400':
          description: The specified client ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A client with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.appliances_controller
  /appliance:
    get:
      tags:
      - appliance
      summary: Returns list of appliances belonging to the organization related to
        the user
      description: This request returns list of appliances belonging to the organization
        related to the user
      operationId: get_appliances
      parameters:
      - $ref: '#/components/parameters/ServiceIdParam'
      - name: include_devices
        in: query
        description: Return device list for each appliances if True
        required: false
        example: true
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: A JSON information with list of appliances
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_appliance'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.appliances_controller
  /organization:
    get:
      tags:
      - organization
      summary: Returns information about organization retrieved by auth data
      description: This request returns information about organization retrieved by
        auth data
      operationId: get_organization
      responses:
        '200':
          description: A JSON information about organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/org_level_organization'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.organization_controller
  /client/{client_id}/vault/{vault_id}/d2c_agent:
    post:
      tags:
      - d2c_agent
      summary: Returns D2C Agent Token ID for specified vault and client
      description: This request returns D2C Agent Token ID for specified vault belonging
        to the provided client.
      operationId: get_d2c_agent_token_by_client_and_vault_ids
      parameters:
      - $ref: '#/components/parameters/ClientIdParam'
      - $ref: '#/components/parameters/VaultIdParam'
      responses:
        '201':
          description: A JSON that contains D2C agent Token ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client_level_d2c_agent_token'
        '400':
          description: The specified client ID is invalid (not a number).
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A client or vault with the specified ID was not found.
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.tokens_controller
  /client/{client_id}/usage:
    get:
      tags:
      - client
      summary: Returns the client storage usage information by client ID
      description: This request returns information about the client storage usage.
      operationId: get_client_usages_by_client_id
      parameters:
      - name: client_id
        in: path
        description: The ID of the client.
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: A JSON information of organization's client storage usage
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client_usage'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: A organization for issued user is not found
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-openapi-router-controller: app.mod_public_api.controllers.clients_controller
components:
  parameters:
    VaultIdParam:
      name: vault_id
      in: path
      description: The ID of the vault to return.
      required: true
      style: simple
      explode: false
      example: 222
      schema:
        type: integer
        format: int64
    ClientIdParam:
      name: client_id
      in: path
      description: The unique ID of the client of the organization.
      required: true
      style: simple
      explode: false
      example: 333
      schema:
        type: integer
        format: int64
    ApplianceIdParam:
      name: appliance_id
      in: path
      description: The ID of the appliance to return.
      required: true
      style: simple
      explode: false
      example: 444
      schema:
        type: integer
        format: int64
    DeviceIdParam:
      name: device_id
      in: path
      description: The ID of the device.
      required: true
      style: simple
      explode: false
      example: 555
      schema:
        type: integer
        format: int64
    ServiceIdParam:
      name: service_id
      in: query
      description: Unique serial number of the service (4 symbols).
      required: false
      style: form
      explode: false
      example: abcd
      schema:
        type: string
    JobIdParam:
      name: job_id
      in: path
      description: The ID of the job.
      required: true
      style: simple
      explode: false
      example: 777
      schema:
        type: integer
        format: int64
  schemas:
    org_level_appliance:
      type: object
      properties:
        id:
          type: integer
          description: Unique appliance identifier
          format: int64
          example: 444
        service_id:
          type: string
          description: 4-symbols SID of appliance
          example: abcd
        client_id:
          type: integer
          description: Parent client ID
          format: int64
          example: 333
        alias:
          type: string
          description: Appliance alias
          example: MyAppliance
        ip_address:
          type: string
          description: Appliance IP-address
          example: 12.34.56.78
        server_id:
          type: string
          description: A unique server identifier
          example: e7366782-a02e-4593-a99d-8fd27b917449
        active:
          type: boolean
          description: Flag describing if this appliance is active
          example: true
        product:
          type: string
          description: Appliance product
          example: X360RECOVER
          enum:
          - BRC
          - X360RECOVER
        model:
          $ref: '#/components/schemas/org_level_server_model'
        package:
          $ref: '#/components/schemas/org_level_package'
        service_type:
          type: string
          description: Type of the service HARDWARE/VIRTUAL
          example: HARDWARE
          enum:
          - HARDWARE
          - VIRTUAL
        last_tunnel_up:
          type: string
          description: Timestamp describing when tunnel was up last time
          example: 2020-11-12T09:54:00Z
        tunnel_status:
          type: string
          description: Flag describing tunnel status
          example: UP
          enum:
          - UP
          - DOWN
        storage_details:
          $ref: '#/components/schemas/storage_details'
        devices:
          type: array
          description: List of devices with some additional information
          items:
            $ref: '#/components/schemas/org_level_short_appliance_device'
        software_version:
          $ref: '#/components/schemas/org_level_version'
        health_status:
          type: string
          description: Health status of the appliance
          example: NORMAL
        health_status_reason:
          type: string
          description: The reason of current health status
          example: APPLIANCE_OFFLINE
      example:
        devices:
          ip_address: 10.2.23.2
          os: WINDOWS
          id: 6
          name: RMC_device
          type: SERVER
          local_usage: 132153611
          latest_local_rp: 2023-01-20T04:56:07Z
        id: 1
        active: true
        service_id: abcd
        ip_address: 10.2.22.1
        server_id: 7099d6d7-67cd-4809-b6bc-81dc91c5d082
        alias: TestAppliance
        product: X360RECOVER
        storage_details:
          drive_size: 58581416960
          used_size: 40900613898
        service_type: HARDWARE
        tunnel_status: UP
        last_tunnel_up: 2023-01-20T04:56:07Z
        model:
          id: 392
          name: BYOD
        package:
          id: 10
          name: Axcient Replibit
        software_version:
          id: 15
          version: 10.1.0
        health_status: TROUBLED
        health_status_reason: FULL_90_PERCENT
    org_level_short_appliance:
      type: object
      properties:
        id:
          type: integer
          description: Unique appliance identifier
          format: int64
          example: 444
        service_id:
          type: string
          description: 4-symbols SID of appliance
          example: abcd
        alias:
          type: string
          description: Appliance alias
          example: MyAppliance
        ip_address:
          type: string
          description: Appliance IP-address
          example: 12.34.56.78
        server_id:
          type: string
          description: A unique server identifier
          example: e7366782-a02e-4593-a99d-8fd27b917449
        active:
          type: boolean
          description: Flag describing if this appliance is active
          example: true
        product:
          type: string
          description: Appliance product
          example: X360RECOVER
          enum:
          - BRC
          - X360RECOVER
        service_type:
          type: string
          description: Type of the service HARDWARE/VIRTUAL
          example: HARDWARE
          enum:
          - HARDWARE
          - VIRTUAL
      example:
        id: 1
        service_id: abcd
        alias: MyAppliance
        ip_address: 12.34.56.78
        server_id: e7366782-a02e-4593-a99d-8fd27b917449
        active: true
        product: X360RECOVER
        service_type: HARDWARE
    org_level_vault:
      type: object
      properties:
        id:
          type: integer
          description: Unique vault identifier
          format: int64
          example: 222
        service_id:
          type: string
          description: 4-symbols SID of vault
          example: abcd
        name:
          type: string
          description: Name of the vault
          example: RMC_Vault
        ip_address:
          type: string
          description: Vault IP-address
          example: 12.34.56.78
        server_id:
          type: string
          description: A unique server identifier
          example: e7366782-a02e-4593-a99d-8fd27b917449
        active:
          type: boolean
          description: Flag describing is this vault active
          example: true
        type:
          type: string
          description: Describing is this vault private or cloud
          example: Private
          enum:
          - Cloud
          - Private
        model:
          $ref: '#/components/schemas/org_level_server_model'
        service_type:
          type: string
          description: Type of the service HARDWARE/VIRTUAL
          example: HARDWARE
          enum:
          - HARDWARE
          - VIRTUAL
        last_tunnel_up:
          type: string
          description: Timestamp describing when tunnel was up last time
          example: 2021-02-02T17:27:25Z
        tunnel_status:
          type: string
          description: Flag describing tunnel status
          example: UP
          enum:
          - UP
          - DOWN
        storage_details:
          $ref: '#/components/schemas/storage_details'
        devices:
          type: array
          description: List of devices with some additional information
          items:
            $ref: '#/components/schemas/org_level_short_device'
        software_version:
          $ref: '#/components/schemas/org_level_version'
        replication_data:
          type: integer
          description: Information about replication
          example: 456325154
        vault_thresholds:
          $ref: '#/components/schemas/vault_thresholds'
        health_status:
          type: string
          description: Health status of the vault
          example: NORMAL
        health_status_reason:
          type: string
          description: Reason of health status
          example: VAULT_OFFLINE
        creation_timestamp:
          type: string
          description: Timestamp describing when the vault was created
          example: 2000-01-23T04:56:07Z
      example:
        devices:
        - appliance_id: 1
          ip_address: 10.2.22.2
          os: DoorsIX
          id: 6
          name: RMC_device
          client:
            id: 26
            name: name
          type: SERVER
          local_usage: 132153611
          vault_usage: 132152007
          bytes_replicated: 132107
          latest_vault_rp: 2000-01-23T04:56:07Z
        - appliance_id: 1
          ip_address: 10.2.33.2
          os: DoorsIX
          id: 6
          name: RMC_device
          client:
            id: 26
            name: name
          type: SERVER
          local_usage: 132153611
          vault_usage: 132152007
          bytes_replicated: 132107
          latest_vault_rp: 2000-01-23T04:56:07Z
        active: true
        service_id: abcd
        ip_address: 12.34.56.78
        server_id: e7366782-a02e-4593-a99d-8fd27b917449
        type: Cloud
        storage_details:
          drive_size: 58581416960
          used_size: 40900613898
        vault_thresholds:
          vault_id: 26
          connectivity_threshold: 240
        service_type: HARDWARE
        tunnel_status: UP
        name: RMC_Vault
        model:
          id: 392
          name: BYOD
        software_version:
          id: 15
          version: 10.1.0
        replication_data: 456325154
        health_status: NORMAL
        health_status_reason: VAULT_OFFLINE
        last_tunnel_up: 2000-01-23T04:56:07Z
        org_id: 0
        creation_timestamp: 2000-01-23T04:56:07Z
    org_level_short_vault:
      type: object
      properties:
        id:
          type: integer
          description: Unique vault ID
          format: int64
          example: 234
        type:
          type: string
          description: Describing is this vault private or cloud
          example: Private
          enum:
          - Cloud
          - Private
        device_usage:
          type: integer
          description: Amount of space on a vault used by the actual device
          format: int64
          example: 1254635435
        latest_vault_rp:
          type: string
          description: Time of the last vault replication
          example: 2020-05-18T00:00:00Z
        service_id:
          type: string
          description: 4-symbols SID of vault
          example: abcd
        name:
          type: string
          description: Name of the vault
          example: RMC_Vault
      example:
        id: 234
        type: Cloud
        latest_vault_rp: 2000-01-23T04:56:07Z
        device_usage: 1254635435
        service_id: abcd
        name: RMC_Vault
    org_level_device:
      type: object
      properties:
        id:
          type: integer
          description: Unique device identifier
          format: int64
          example: 555
        name:
          type: string
          description: Name of the device
          example: RMC_device
        client_id:
          type: integer
          description: Parent client ID
          format: int64
          example: 333
        type:
          type: string
          description: Type of the device
          example: SERVER
          nullable: false
          enum:
          - SERVER
          - WORKSTATION
        os:
          $ref: '#/components/schemas/device_os'
        service_id:
          type: string
          description: Unique service SID
          example: abcd
        product:
          type: string
          description: Product type
          example: X360RECOVER
          enum:
          - BRC
          - X360RECOVER
        local_ps_id:
          type: string
          description: UUID of the machine
          example: 5e310ea7873caf0b93700f58
        vaults:
          type: array
          description: List of vaults with IDs and used space for the device
          items:
            $ref: '#/components/schemas/org_level_short_vault'
        ip_address:
          type: string
          description: Device IP-address
          example: 12.34.56.78
        current_health_status:
          $ref: '#/components/schemas/health_status_obj'
        previous_health_status:
          $ref: '#/components/schemas/health_status_obj'
        thresholds:
          $ref: '#/components/schemas/device_thresholds'
        local_usage:
          type: integer
          description: Amount of space used by the device on the appliance
          format: int64
          example: 132153611
        local_total:
          type: integer
          description: Total amount of space available on the appliance
          format: int64
          example: 152136512
        cloud_usage:
          type: integer
          description: Amount of space used by the device in the cloud
          format: int64
          example: 9390380544
        vault_usage:
          type: integer
          description: Amount of space used by this device on the private vault
          format: int64
          example: 132152007
        jobs:
          type: array
          description: List of job IDs for the device
          items:
            oneOf:
            - $ref: '#/components/schemas/org_level_short_brc_job'
            - $ref: '#/components/schemas/org_level_short_replibit_job'
        latest_cloud_rp:
          type: string
          description: Time of the latest cloud replication
          example: 2020-04-30T08:12:00Z
        latest_local_rp:
          type: string
          description: Time of the latest local backup
          example: 2023-01-20T04:56:07Z
        latest_vault_rp:
          type: string
          description: Time of the latest private vault replication
          example: 2023-01-20T04:56:07Z
        d2c:
          type: boolean
          description: Flag indicating if this device is a D2C one
          example: false
        asio_endpoint_id:
          type: string
          description: ConnectWise Asio ID
          example: e7366782-a02e-4593-a99d-8fd27b917449
        agent_version:
          type: string
          description: Version number of the backup agent
          example: 2.40.1546
        volumes:
          type: array
          description: List of device volumes
          items:
            type: string
          example:
          - C:\
          - D:\
          - N:\
        excluded_volumes:
          type: array
          description: List of device excluded volumes
          items:
            type: string
          example:
          - C:\
        device_details_page_url:
          type: string
          description: Device details page url
          example: https://localhost/home/device/12345
        local_cache_details:
          $ref: '#/components/schemas/local_cache_details'
        latest_autoverify_details:
          $ref: '#/components/schemas/org_level_latest_autoverify_details'
      example:
        ip_address: 10.2.2.33
        cloud_usage: 6
        agent_version: 2.33.1134
        asio_endpoint_id: e7366782-a02e-4593-a99d-8fd27b917449
        device_details_page_url: https://localhost/home/device/12345
        os:
          os_type: LINUX
          bits: 64
          os_name: Doors IX
          device_type: Server
        id: 0
        jobs:
        - id: 65345
          name: BackupJob1
          latest_rp: 2000-01-23T04:56:07Z
          health_status: NORMAL
        - id: 65346
          name: BackupJob2
          latest_rp: 2000-01-22T04:56:07Z
          health_status: WARNED
        vaults:
        - id: 234
          type: Cloud
          latest_vault_rp: 2000-01-23T04:56:07Z
          device_usage: 1254635435
        - id: 234
          type: Cloud
          latest_vault_rp: 2000-01-23T04:56:07Z
          device_usage: 1254635435
        type: SERVER
        local_usage: 132153611
        vault_usage: 132152007
        latest_autoverify_details:
          id: 64f972bfbfec2620b7043e21
          rp: 2022-12-13T19:00:01Z
          status: success
          timestamp: 2022-12-13T19:40:22Z
          start_timestamp: 2022-12-13T19:40:22Z
          end_timestamp: 2022-12-13T19:45:45Z
          screenshot_url: 
            https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
          screenshot_thumbnail_url: https://localhost/image/last_autoverify_thumbnail/685134346c6470316a556846505176
          is_healthy: true
        latest_local_rp: 2000-01-23T04:56:07Z
        local_cache_details:
          enabled: false
          last_successful_verification_timestamp:
          last_verification_timestamp:
          path: ''
          verification_status:
        product: X360RECOVER
        thresholds:
          vault_rp_threshold: 320
          local_rp_threshold: 480
          cloud_rp_threshold: 240
        service_id: service_id
        latest_cloud_rp: 2000-01-23T04:56:07Z
        name: RMC_device
        current_health_status:
          status: NORMAL
          reason:
          timestamp: 2024-01-03T11:33:07Z
        previous_health_status:
        volumes: [C:\\\\, E:\\\\, F:\\\\]
        excluded_volumes: [D:\\\\, G:\\\\]
        local_ps_id: fff494ee9e7e48f1816306eb
    org_level_short_device:
      type: object
      properties:
        id:
          type: integer
          description: Unique device identifier
          format: int64
          example: 555
        appliance_id:
          type: integer
          description: Unique appliance identifier
          format: int64
          example: 444
        client:
          $ref: '#/components/schemas/org_level_short_client'
        name:
          type: string
          description: Name of the device
          example: RMC_device
        ip_address:
          type: string
          description: Device IP-address
          example: 12.34.56.78
        type:
          type: string
          description: Type of the device
          example: SERVER
          enum:
          - SERVER
          - WORKSTATION
        os:
          type: string
          example: DoorsIX
        local_usage:
          type: integer
          description: Amount of used space in the device
          format: int64
          example: 132153611
        vault_usage:
          type: integer
          description: Amount of space used by this device on the vault
          format: int64
          example: 132152007
        bytes_replicated:
          type: integer
          description: Amount of data replicated on last replication
          format: int64
          example: 132107
        latest_vault_rp:
          type: string
          description: Time of the last vault replication
          example: 2000-01-23T04:56:07Z
      example:
        appliance_id: 1
        ip_address: 10.2.3.2
        os: DoorsIX
        id: 6
        name: RMC_device
        client:
          id: 26
          name: name
        type: SERVER
        local_usage: 132153611
        vault_usage: 132152007
        bytes_replicated: 132107
        latest_vault_rp: 2000-01-23T04:56:07Z
    org_level_short_appliance_device:
      type: object
      properties:
        id:
          type: integer
          description: Unique device identifier
          format: int64
          example: 444
        name:
          type: string
          description: Name of the device
          example: RMC_device
        ip_address:
          type: string
          description: Device IP-address
          example: 12.34.56.78
        type:
          type: string
          description: Type of the device
          example: SERVER
          enum:
          - SERVER
          - WORKSTATION
        os:
          description: Name of the OS of the device
          type: string
          example: DoorsIX
        local_usage:
          type: integer
          description: Amount of used space in the device
          format: int64
          example: 132153611
        latest_local_rp:
          type: string
          description: Time of the last local backup
          example: 2023-01-20T04:56:07Z
      example:
        id: 1
        ip_address: 10.2.3.2
        name: RMC_device
        type: SERVER
        os: WINDOWS
        local_usage: 132153611
        latest_vault_rp: 2023-01-20T04:56:07Z
    org_level_short_job:
      type: object
      properties:
        id:
          type: integer
          description: Unique job ID
          format: int64
          example: 65345
        name:
          type: string
          description: Name of the job
          example: BackupJob123
        health_status:
          type: string
          description: Health status of the job
          example: WARNED
      example:
        id: 65345
        name: BackupJob123
        health_status: WARNED
    org_level_short_brc_job:
      allOf:
      - $ref: '#/components/schemas/org_level_short_job'
      - type: object
        properties:
          latest_local_rp:
            type: string
            description: Timestamp of the last local replication
            example: 2023-01-20T04:56:07Z
          latest_cloud_rp:
            type: string
            description: Timestamp of the last cloud replication
            example: 2023-01-20T04:56:07Z
      example:
        id: 65345
        name: BackupJob123
        health_status: WARNED
        latest_local_rp: 2023-01-20T04:56:07Z
        latest_cloud_rp: 2023-01-20T04:56:07Z
    org_level_short_replibit_job:
      allOf:
      - $ref: '#/components/schemas/org_level_short_job'
      - type: object
        properties:
          latest_rp:
            type: string
            description: Timestamp of the last replication
            example: 2023-01-20T04:56:07Z
          vault_id:
            type: integer
            description: id of the related vault for RB jobs
            format: int64
            example: 1525
      example:
        id: 65345
        name: BackupJob123
        health_status: WARNED
        vault_id: 1525
        latest_rp: 2023-01-20T04:56:07Z
    org_level_job:
      type: object
      properties:
        id:
          type: integer
          description: Unique job ID
          format: int64
          example: 65345
        name:
          type: string
          description: Name of the job
          example: BackupJob123
        offsite:
          type: boolean
          description: whether this job makes replications to the cloud (true if replication
            is enabled for BRC job, false otherwise; false for RB backup jobs; true
            for RB replication jobs; true for D2C jobs)
          example: true
        enabled:
          type: boolean
          description: Describes is the job enabled
          example: true
        thresholds:
          $ref: '#/components/schemas/job_thresholds'
        health_status:
          type: string
          description: Health status of the job
          example: WARNED
      example:
        id: 65345
        name: BackupJob123
        offsite: true
        enabled: true
        thresholds:
          vault_rp_threshold:
            value: 240
            enabled: true
            overridden: true
          cloud_rp_threshold:
            value: 300
            enabled: false
            overridden: false
          local_rp_threshold:
            value: 150
            enabled: true
            overridden: false
          protection_threshold:
            value: 100
            enabled: true
            overridden: true
        health_status: WARNED
    job_history:
      type: object
      properties:
        status:
          type: string
          enum:
          - Completed
          - Failed
        start_time:
          type: string
          description: Date/time ISO8601 format
          example: 2021-07-01T10:08:00
        end_time:
          type: string
          description: Date/time ISO8601 format
          example: 2021-07-01T10:08:00
        rp:
          type: string
          description: Date/time ISO8601 format
          example: 2021-07-01T10:08:00
        error_msg:
          type: string
          example: "Snapshot creation for volumes failed, reason: There aren't any
            snapshots in this system"
    org_level_brc_job:
      allOf:
      - $ref: '#/components/schemas/org_level_job'
      - type: object
        properties:
          job_type:
            type: string
            description: Type of the job for BRC jobs (FILE/IMAGE)
            example: FILE
          latest_local_rp:
            type: string
            description: Timestamp of the last local replication for BRC jobs
            example: 2023-01-20T04:56:07Z
          latest_cloud_rp:
            type: string
            description: Timestamp of the last cloud replication for BRC jobs
            example: 2023-01-20T04:56:07Z
      example:
        id: 65345
        name: BackupJob123
        offsite: true
        enabled: true
        thresholds:
          vault_rp_threshold:
            value: 240
            enabled: true
            overridden: true
          cloud_rp_threshold:
            value: 300
            enabled: false
            overridden: false
          local_rp_threshold:
            value: 150
            enabled: true
            overridden: false
          protection_threshold:
            value: 100
            enabled: true
            overridden: true
        health_status: WARNED
        job_type: IMAGE
        latest_local_rp: 2023-01-20T04:56:07Z
        latest_cloud_rp: 2023-01-20T04:56:07Z
    org_level_replibit_job:
      allOf:
      - $ref: '#/components/schemas/org_level_job'
      - type: object
        properties:
          vault:
            $ref: '#/components/schemas/org_level_short_vault'
          schedule:
            type: string
            description: Job's schedule details
            example: '{"isDefault": true, "initialbackup": {"startTime": {"minute":
              0, "hour": 0}, "days": ["*"], "endTime": {"minute": 0, "hour": 0}},
              "name": "default", "isEnabled": false, "incrementalbackup": {"startTime":
              {"minute": 0, "hour": 0}, "repeat": {"hour": "*/1"}, "days": ["*"],
              "endTime": {"minute": 0, "hour": 0}}}'
          latest_rp:
            type: string
            description: Timestamp of the last replication for RB jobs
            example: 2023-01-20T04:56:07Z
      example:
        id: 65345
        name: BackupJob123
        offsite: true
        enabled: true
        thresholds:
          vault_rp_threshold:
            value: 240
            enabled: true
            overridden: true
          cloud_rp_threshold:
            value: 300
            enabled: false
            overridden: false
          local_rp_threshold:
            value: 150
            enabled: true
            overridden: false
          protection_threshold:
            value: 100
            enabled: true
            overridden: true
        health_status: WARNED
        job_type: IMAGE
        vault:
          id_: 234
          type: Cloud
          latest_vault_rp: 2000-01-23T04:56:07Z
          device_usage: 1254635435
          service_id: abcd
          name: RMC_Vault
        schedule: '{"isDefault": true, "initialbackup": {"startTime": {"minute": 0,
          "hour": 0}, "days": ["*"], "endTime": {"minute": 0, "hour": 0}}, "name":
          "default", "isEnabled": false, "incrementalbackup": {"startTime": {"minute":
          0, "hour": 0}, "repeat": {"hour": "*/1"}, "days": ["*"], "endTime": {"minute":
          0, "hour": 0}}}'
        latest_rp: 2023-01-20T04:56:07Z
    org_level_server_model:
      type: object
      properties:
        id:
          type: integer
          description: Unique model ID
          format: int64
          example: 392
        name:
          type: string
          description: Model name
          example: BYOD
      example:
        id: 392
        name: BYOD
    org_level_package:
      type: object
      properties:
        id:
          type: integer
          description: Unique package ID
          format: int64
          example: 392
        name:
          type: string
          description: Package name
          example: Axcient Replibit
      example:
        id: 123
        name: Axcient Replibit
    org_level_version:
      type: object
      properties:
        id:
          type: integer
          description: Unique version ID
          format: int64
          example: 15
        version:
          type: string
          description: Exact version
          example: 10.1.0
      example:
        id: 15
        version: 10.1.0
    org_level_short_client:
      type: object
      properties:
        id:
          type: integer
          description: Unique client ID
          format: int64
          example: 26
        name:
          type: string
          description: Client name
          example: Demo Client
      example:
        id: 26
        name: Demo Client
    org_level_client:
      type: object
      properties:
        id:
          type: integer
          description: Unique client ID
          format: int64
          example: 26
        name:
          type: string
          description: Client name
          example: Demo Client
        client_code:
          type: string
          description: Client code
          example: username
        active:
          type: boolean
          description: Is client active
          example: true
        health_status:
          type: string
          description: Client health status
          enum:
          - NORMAL
          - WARNED
          - TROUBLED
          - UNPROTECTED
          - PARKED
          example: NORMAL
        devices_counters:
          $ref: '#/components/schemas/client_protected_systems_counters'
      example:
        id: 26
        name: name
        client_code: username
        active: true
        health_status: NORMAL
        devices_counters:
          appliance_based:
          - type: SERVER
            count: 0
          - type: WORKSTATION
            count: 4
          d2c:
          - type: SERVER
            count: 2
          - type: WORKSTATION
            count: 7
          cloud_archive:
          - type: SERVER
            count: 2
          - type: WORKSTATION
            count: 0
    client_protected_systems_counters:
      type: object
      description: Client PS counters by type
      properties:
        appliance_based:
          type: array
          description: Appliance based PS count
          items:
            $ref: '#/components/schemas/protected_system_counters'
        d2c:
          type: array
          description: D2C based PS count
          items:
            $ref: '#/components/schemas/protected_system_counters'
        cloud_archive:
          type: array
          description: Cloud archive PS count
          items:
            $ref: '#/components/schemas/protected_system_counters'
      example:
        appliance_based:
        - type: SERVER
          count: 5
        - type: WORKSTATION
          count: 2
        d2c:
        - type: SERVER
          count: 10
        - type: WORKSTATION
          count: 3
        cloud_archive:
        - type: SERVER
          count: 8
        - type: WORKSTATION
          count: 4
    protected_system_counters:
      type: object
      description: PS type-count pair
      properties:
        type:
          type: string
          description: PS type
          example: SERVER
        count:
          type: integer
          description: PS count
          format: int64
          example: 3
      example:
        type: SERVER
        count: 3
    storage_details:
      type: object
      properties:
        used_size:
          type: integer
          description: Storage used by all devices on this appliance/vault
          format: int64
          example: 40900613898
        drive_size:
          type: integer
          description: Allowed storage on this appliance/vault (if the vault is private)
          example: 58581416960
      example:
        drive_size: 58581416960
        used_size: 40900613898
    device_os:
      type: object
      properties:
        os_type:
          type: string
          description: OS type (WINDOWS/LINUX/OTHER)
          example: LINUX
        bits:
          type: integer
          description: Number of bits used for addressing in memory
          example: 64
        os_name:
          type: string
          description: Name of the OS
          example: Doors IX
      example:
        os_type: LINUX
        bits: 64
        os_name: Doors IX
        device_type: Server
    local_cache_details:
      type: object
      properties:
        enabled:
          type: boolean
          description: Local cache enabled value
          example: true
        verification_status:
          type: string
          description: Local cache verification status if enabled or "Disabled" otherwise
          example: WARNED
        path:
          type: string
          description: Local cache path if enabled or empty otherwise
          example: /some/path/here
        last_verification_timestamp:
          type: string
          description: Timestamp of last local cache verification
          example: 2023-01-20T04:56:07Z
        last_successful_verification_timestamp:
          type: string
          description: Last successful timestamp of last local cache verification
          example: 2023-01-20T04:56:07Z
      example:
        enabled: true
        verification_status: WARNED
        path: /some/path/here
        last_verification_timestamp: 2023-01-20T04:56:07Z
        last_successful_verification_timestamp: 2023-01-20T04:56:07Z
    restore_point:
      type: object
      properties:
        timestamp:
          type: string
          description: Date/time ISO8601 format of the restore point
          example: 2021-07-01T10:08:00
        in_use:
          type: boolean
          description: is the snapshot marked as used
          example: true
        usage_initiator:
          type: string
          description: who uses the snapshot
          example: vault-10.2.182.140.slc.efscloud.net/iscsi
      example:
        timestamp: '2021-07-01T10:08:00'
        in_use: true
        usage_initiator: vault-10.2.182.140.slc.efscloud.net/iscsi
    org_level_latest_autoverify_details:
      type: object
      properties:
        id:
          type: string
          description: Unique autoverify identifier
          example: 621def14cd6e87eaaaf035e0
        timestamp:
          type: string
          description: The restore point that was verified
          example: 2022-12-13T19:40:22Z
        start_timestamp:
          type: string
          description: Date/time that the last AutoVerify result started
          example: 2022-12-13T19:40:22Z
        end_timestamp:
          type: string
          description: Date/time that the last AutoVerify result completed
          example: 2022-12-13T19:40:22Z
        rp:
          type: string
          description: Date/time of the recovery point that was used with the last
            AutoVerify result
          example: 2022-12-13T19:00:01Z
        status:
          type: string
          enum:
          - success
          - failure
          description: Success if AV check was completed in full, regardless of its
            results, failure otherwise
          example: success
        screenshot_url:
          type: string
          description: Latest autoverify screenshot URL
          example: 
            https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
        screenshot_thumbnail_url:
          type: string
          description: Latest autoverify screenshot thumbnail URL
          example: 
            https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
        is_healthy:
          type: boolean
          description: True if all AV checks passed, false if at least one check failed
            or AutoVerify couldn't be completed
          example: true
      example:
        id: 621def14cd6e87eaaaf035e0
        timestamp: 2022-12-13T19:40:22Z
        rp: 2022-12-13T19:00:01Z
        status: success,
        screenshot_url: 
          https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
        screenshot_thumbnail_url: https://localhost/image/last_autoverify_thumbnail/685134346c6470316a556846505176
        is_healthy: true
        start_timestamp: 2022-12-13T19:40:22Z
        end_timestamp: 2022-12-13T19:40:22Z
    org_level_autoverify_info:
      type: object
      properties:
        id:
          type: string
          description: Unique autoverify identifier
          example: 621def14cd6e87eaaaf035e0
        timestamp:
          type: string
          description: The restore point that was verified
          example: 2022-12-13T19:40:22Z
        start_timestamp:
          type: string
          description: Date/time that the last AutoVerify result started
          example: 2022-12-13T19:40:22Z
        end_timestamp:
          type: string
          description: Date/time that the last AutoVerify result completed
          example: 2022-12-13T19:40:22Z
        rp:
          type: string
          description: Date/time of the recovery point that was used with the last
            AutoVerify result
          example: 2022-12-13T19:00:01Z
        status:
          type: string
          enum:
          - success
          - failure
          description: Success if Last AV check was completed in full, regardless
            of its results, failure otherwise
          example: success
        screenshot_url:
          type: string
          description: Latest autoverify screenshot URL
          example: 
            https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
        screenshot_thumbnail_url:
          type: string
          description: Latest autoverify screenshot thumbnail URL
          example: 
            https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
        is_healthy:
          type: boolean
          description: True if all AV checks passed, false if at least one check failed
            or AutoVerify couldn't be completed
          example: true
      example:
        id: 621def14cd6e87eaaaf035e0
        timestamp: 2022-12-13T19:40:22Z
        rp: 2022-12-13T19:00:01Z
        status: success,
        screenshot_url: 
          https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
        screenshot_thumbnail_url: https://localhost/image/last_autoverify_thumbnail/685134346c6470316a556846505176
        is_healthy: true
        start_timestamp: 2022-12-13T19:40:22Z
        end_timestamp: 2022-12-13T19:40:22Z
    vault_thresholds:
      type: object
      properties:
        vault_id:
          type: integer
          description: Unique vault ID
          format: int64
          example: 26
        connectivity_threshold:
          type: integer
          description: Time in minutes the Vault will become warned if it loses connectivity
          example: 240
      example:
        vault_id: 26
        connectivity_threshold: 240
    vault_threshold_body:
      type: object
      properties:
        threshold:
          type: integer
          description: Time in minutes the Vault will become warned if it loses connectivity
          example: 240
      example:
        threshold: 240
    device_thresholds:
      type: object
      properties:
        vault_rp_threshold:
          $ref: '#/components/schemas/threshold_obj'
        cloud_rp_threshold:
          $ref: '#/components/schemas/threshold_obj'
        local_rp_threshold:
          $ref: '#/components/schemas/threshold_obj'
        protection_threshold:
          $ref: '#/components/schemas/threshold_obj'
      example:
        vault_rp_threshold:
          value: 240
          enabled: true
          overridden: true
        cloud_rp_threshold:
          value: 300
          enabled: false
          overridden: false
        local_rp_threshold:
          value: 150
          enabled: true
          overridden: false
        protection_threshold:
          value: 100
          enabled: true
          overridden: true
    job_thresholds:
      type: object
      properties:
        vault_rp_threshold:
          $ref: '#/components/schemas/threshold_obj'
        cloud_rp_threshold:
          $ref: '#/components/schemas/threshold_obj'
        local_rp_threshold:
          $ref: '#/components/schemas/threshold_obj'
        protection_threshold:
          $ref: '#/components/schemas/threshold_obj'
      example:
        vault_rp_threshold:
          value: 240
          enabled: true
          overridden: true
        cloud_rp_threshold:
          value: 300
          enabled: false
          overridden: false
        local_rp_threshold:
          value: 150
          enabled: true
          overridden: false
        protection_threshold:
          value: 100
          enabled: true
          overridden: true
    threshold_obj:
      type: object
      properties:
        value:
          type: integer
          description: Threshold value
          example: 240
        enabled:
          type: boolean
          description: Is this threshold enabled
          example: true
        overridden:
          type: boolean
          description: Is this threshold overridden
          example: true
      example:
        value: 240
        enabled: true
        overridden: true
    org_level_jobs_response:
      oneOf:
      - $ref: '#/components/schemas/org_level_brc_job'
      - $ref: '#/components/schemas/org_level_replibit_job'
    health_status_obj:
      type: object
      properties:
        status:
          type: string
          description: Health status
          example: NORMAL
        reason:
          type: string
          description: Health status reason
          example: ONSITE_NEVER_RUN
        timestamp:
          type: string
          description: Date/time ISO8601 format of the health status change
          example: 2022-09-05T12:32:15Z
      example:
        status: NORMAL
        reason: ONSITE_NEVER_RUN
        example: 2022-09-05T12:32:15Z
    org_level_organization:
      type: object
      properties:
        id:
          type: integer
          description: Unique organization ID
          format: int64
          example: 26
        name:
          type: string
          description: Organization name
          example: Demo Name
        active:
          type: boolean
          description: Is organization active
          example: true
        brand_id:
          type: string
          description: Organization brand ID
          example: 1-156-18521-1
        salesforce_id:
          type: string
          description: Organization Salesforce ID
          example: 1-921655-71-2
      example:
        id: 26
        name: Demo Name
        active: true
        brand_id: 1-156-18521-1
        salesforce_id: 1-921655-71-2
    machine_restore_points:
      type: object
      properties:
        vault_id:
          type: integer
          description: Unique vault identifier
          format: int64
          example: 123
        status:
          type: string
          description: Restore points request status
          example: error
        error_msg:
          type: string
          description: Contains information about errors when request restore points
          example: Unable to obtain snapshots for this replication
        restore_points:
          type: array
          description: Array of restore points
          items:
            $ref: '#/components/schemas/restore_point'
      example:
        vault_id: 123
        status: OK
        error_msg: ''
        restore_points:
          timestamp: '2021-07-01T10:08:00'
          in_use: true
          usage_initiator: vault-10.2.182.140.slc.efscloud.net/iscsi
    org_level_machine_autoverify_details:
      type: object
      properties:
        vault_id:
          type: integer
          description: Unique vault identifier
          format: int64
          example: 123
        appliance_id:
          type: integer
          description: Unique appliance identifier
          format: int64
          example: 456
        autoverify_details:
          type: array
          description: Array of autoverify details
          items:
            $ref: '#/components/schemas/org_level_autoverify_info'
      example:
        vault_id: 123
        appliance_id: 456
        autoverify_details:
          id: 621def14cd6e87eaaaf035e0
          timestamp: 2022-12-13T19:40:22Z
          rp: 2022-12-13T19:00:01Z
          status: success,
          screenshot_url: 
            https://localhost/image/last_autoverify_screenshot/685134346c6470316a556846505176
          screenshot_thumbnail_url: https://localhost/image/last_autoverify_thumbnail/685134346c6470316a556846505176
          is_healthy: true
          start_timestamp: 2022-12-13T19:40:22Z
          end_timestamp: 2022-12-13T19:40:22Z
    client_level_d2c_agent_token:
      type: object
      properties:
        token_id:
          type: string
          description: D2C agent Token ID generated for the specified client and vault
          example: 460c08d77a0c4963bc9a79ea45f6ecbb
      example:
        token_id: 460c08d77a0c4963bc9a79ea45f6ecbb
    client_usage:
      type: object
      properties:
        local_usage:
          type: integer
          description: Local Storage Used on x360Recover appliances, bytes
          format: int64
          example: 135862881280
        vault_usage:
          type: integer
          description: Storage Used on private vaults, bytes
          format: int64
          example: 46349434880
        cloud_usage:
          type: integer
          description: Storage Used  on Axcient vaults, bytes
          format: int64
          example: 81122070528
      example:
        local_usage: 135862881280
        vault_usage: 46349434880
        cloud_usage: 81122070528
  responses:
    UnauthorizedError:
      description: Access token is missing or invalid
    UnexpectedError:
      description: Unexpected error
  securitySchemes:
    api_key:
      type: apiKey
      name: X-Api-Key
      in: header
