HorizonIQ Servers API

Endpoints related to Servers

OpenAPI Specification

horizoniq-servers-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Compass Action Items Servers API
  version: '2023-05-30T22:28:43Z'
  description: HorizonIQ Compass REST API - manage bare metal and cloud infrastructure resources (servers, devices, managed firewalls, OS images, SSL certificates, billing, users, support cases, and action items) on the HorizonIQ (formerly INAP) Compass platform. Assembled from the per-endpoint OpenAPI fragments published at https://compass-horizoniq.readme.io/reference; operationIds and the documented Bearer securityScheme added by API Evangelist.
servers:
- url: https://api.compass.horizoniq.com/{basePath}
  variables:
    basePath:
      default: v1
security:
- bearerAuth: []
tags:
- name: Servers
  description: Endpoints related to Servers
paths:
  /servers/{serverUUID}/action-items/inactive:
    get:
      description: Retrieves a JSON object containing a list of inactive action items for a system / server.
      parameters:
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: limits the number of returned systems
        in: query
        name: limit
        schema:
          type: string
      - description: Name of key on which to sort object list.
        in: query
        name: sortby
        schema:
          type: string
      - description: Designates the start index of the object list.
        in: query
        name: offset
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionItemsListModel'
          description: server list
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 400 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 404 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 500 response
      summary: List Inactive Server Action Items
      tags:
      - Servers
      operationId: getServersByServerUUIDActionItemsInactive
  /servers/{serverUUID}/action-items:
    get:
      description: Retrieves a JSON object containing a list of action items for a system / server.
      parameters:
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: limits the number of returned systems
        in: query
        name: limit
        schema:
          type: string
      - description: Name of key on which to sort object list.
        in: query
        name: sortby
        schema:
          type: string
      - description: Designates the start index of the object list.
        in: query
        name: offset
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionItemsListModel'
          description: server list
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 400 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 404 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 500 response
      summary: List Server Action Items
      tags:
      - Servers
      operationId: getServersByServerUUIDActionItems
  /servers/{serverUUID}/images:
    get:
      description: Retrieves a JSON object containing a list of images by serverUUID available for server reinstall.
      parameters:
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: limits the number of returned systems
        in: query
        name: limit
        schema:
          type: string
      - description: Designates the start index of the object list.
        in: query
        name: offset
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Object list sort direction.
        in: query
        name: direction
        schema:
          type: string
      - description: Name of key on which to sort object list.
        in: query
        name: sortby
        schema:
          type: string
      - description: Name of filter, currently active is only filter supported.
        in: query
        name: filter
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageListModel'
          description: server list
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 404 response
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 501 response
      summary: List Server Reinstall Images
      tags:
      - Servers
      operationId: getServersByServerUUIDImages
  /servers/{serverUUID}/install-progress:
    get:
      description: Retrieves a JSON object containing the progress of server install by UUID. This UUID can be retrieved from /servers.
      parameters:
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstallProgressResponseModel'
          description: server list
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 400 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 404 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 500 response
      summary: Get Server Install Progress
      tags:
      - Servers
      operationId: getServersByServerUUIDInstallProgress
  /servers/{serverUUID}/networks:
    get:
      description: Retrieves a JSON object containing the server public and private networks by UUID. This UUID can be retrieved from /servers.
      parameters:
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerNetworksGetModel'
          description: server list
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 500 response
      summary: Get Server Networks
      tags:
      - Servers
      operationId: getServersByServerUUIDNetworks
  /servers/{serverUUID}/rdns:
    get:
      description: Retrieves a JSON object containing the server reverse DNS configuration. This UUID can be retrieved from /servers.
      parameters:
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: limits the number of returned systems
        in: query
        name: limit
        schema:
          type: string
      - description: Designates the start index of the object list.
        in: query
        name: offset
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Object list sort direction.
        in: query
        name: direction
        schema:
          type: string
      - description: Name of key on which to sort object list.
        in: query
        name: sortby
        schema:
          type: string
      - description: "Filter on object property.<br> **Example: ?filters[objectPropertyName]=objectPropertyValue**<br> \n[block:callout] { \"type\": \"info\", \"title\": \"Regular Expression Filtering.\", \"body\": \"The property value can be a valid regular expression to better define list results. The regex must contain valid delimiters such as /.\" } [/block]\n"
        in: query
        name: filters
        schema:
          type: object
        style: deepObject
        explode: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerReverseDNSGetModel'
          description: server list
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 500 response
      summary: Get Server Reverse DNS
      tags:
      - Servers
      operationId: getServersByServerUUIDRdns
  /servers/{serverUUID}/root-password:
    get:
      description: Retrieves a JSON object containing the server root passowrd by server UUID. This UUID can be retrieved from /servers.
      parameters:
      - description: 'TOTP AuthorizationKey. Required if user has enabled 2FA. (i.e. X-Additional-Authorization: Totp XXXXXX)'
        in: header
        name: X-Additional-Authorization
        schema:
          type: string
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RootPasswordGetModel'
          description: server list
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 500 response
      summary: Get Root Password
      tags:
      - Servers
      operationId: getServersByServerUUIDRootPassword
    patch:
      description: "Updates root password in portal to the value set on the server by serverUUID. This UUID can be retrieved from /servers.<br><br> \n[block:callout] { \"type\": \"danger\", \"title\": \"Warning:\", \"body\": \"This operation does not set the actual password on the server. After changing your root password on your server, update here to keep in sync.\" } [/block]\n"
      parameters:
      - description: 'TOTP AuthorizationKey. Required if user has enabled 2FA. (i.e. X-Additional-Authorization: Totp XXXXXX)'
        in: header
        name: X-Additional-Authorization
        schema:
          type: string
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RootPasswordPatchModel'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RootPasswordGetModel'
          description: 200 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 500 response
      summary: Update Root Password
      tags:
      - Servers
      operationId: updateServersByServerUUIDRootPassword
  /servers/{serverUUID}:
    get:
      description: Retrieves a JSON object containing a single server by serverUUID.
      parameters:
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerGetModel'
          description: server list
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 404 response
      summary: Get Server
      tags:
      - Servers
      operationId: getServersByServerUUID
  /servers:
    get:
      description: Retrieves a JSON object containing a list of servers currently provisioned in inventory.
      parameters:
      - description: Object list sort direction.
        in: query
        name: direction
        schema:
          type: string
      - description: limits the number of returned systems
        in: query
        name: limit
        schema:
          type: string
      - description: Name of key on which to sort object list.
        in: query
        name: sortby
        schema:
          type: string
      - description: Designates the start index of the object list.
        in: query
        name: offset
        schema:
          type: string
      - description: "Filter on object property.<br> **Example: ?filters[objectPropertyName]=objectPropertyValue**<br> \n[block:callout] { \"type\": \"info\", \"title\": \"Regular Expression Filtering.\", \"body\": \"The property value can be a valid regular expression to better define list results. The regex must contain valid delimiters such as /.\" } [/block]\n"
        in: query
        name: filters
        schema:
          type: object
        style: deepObject
        explode: true
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerListModel'
          description: server list
      summary: List Servers
      tags:
      - Servers
      operationId: getServers
  /servers/maintenance:
    patch:
      description: "Activate / deactivate maintenance mode for one or more servers. Activating maintenance mode suppresses alerts for the server(s).<br><br> \n[block:callout] { \"type\": \"info\", \"title\": \"Information.\", \"body\": \"This operation is only for monitored servers.\" } [/block]\n"
      parameters:
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServersMaintenancePatchModel'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerMaintenanceRespModel'
          description: 200 response
        '207':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerMaintenanceRespModel'
          description: 207 response
      summary: Server Maintenance
      tags:
      - Servers
      operationId: updateServersMaintenance
  /servers/{serverUUID}/rdns/{rdnsRecUUID}:
    patch:
      description: Apply new FQDN to reverse DNS record.
      parameters:
      - description: The UUID of the reverse DNS record, can be retrieved from the /servers/{serverUUID}/rdns endpoint.
        in: path
        name: rdnsRecUUID
        required: true
        schema:
          type: string
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServerRdnsFqdnPatchModel'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessModel'
          description: 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 400 response
      summary: Update Reverse DNS Record
      tags:
      - Servers
      operationId: updateServersByServerUUIDRdnsByRdnsRecUUID
  /servers/{serverUUID}/reboot:
    post:
      description: 'Requests the reboot of a server by serverUUID. A simple JSON object containing success: true | false is returned.'
      parameters:
      - description: Options include soft (proper reboot) or hard (force reboot).
        in: query
        name: rebootType
        schema:
          type: string
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessModel'
          description: 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 400 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 404 response
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 409 response
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 501 response
      summary: Reboot Server
      tags:
      - Servers
      operationId: createServersByServerUUIDReboot
  /servers/{serverUUID}/reinstall:
    post:
      description: Start a server re-installation
      parameters:
      - description: 'TOTP AuthorizationKey. Required if user has enabled 2FA. (i.e. X-Additional-Authorization: Totp XXXXXX)'
        in: header
        name: X-Additional-Authorization
        schema:
          type: string
      - description: The UUID of the server, can be retrieved from the <span style=color:blue>**[List Servers](./get_servers)**</span> endpoint.
        in: path
        name: serverUUID
        required: true
        schema:
          type: string
      - description: Required with Compass API token.<br>Provide keyword **Bearer** and space before token.
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReinstallPostModel'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReinstallModel'
          description: 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 400 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 404 response
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 409 response
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: 501 response
      summary: Reinstall Server
      tags:
      - Servers
      operationId: createServersByServerUUIDReinstall
components:
  schemas:
    RootPasswordGetModel:
      type: object
      properties:
        password:
          type: string
    ServerNetworksGetModel:
      type: object
      properties:
        private:
          type: array
          items:
            type: object
            properties:
              netmask:
                type: string
              prefix:
                type: string
              primary_ip:
                type: string
              cidr:
                type: string
              id:
                type: string
              created_date:
                type: string
              object_id:
                type: string
              gateway:
                type: string
              dc:
                type: string
              usable_ips:
                type: array
                items:
                  type: string
        public:
          type: array
          items:
            type: object
            properties:
              netmask:
                type: string
              prefix:
                type: string
              primary_ip:
                type: string
              justification_request_id:
                type: string
              cidr:
                type: string
              id:
                type: string
              updated_date:
                type: string
              is_sub_assignment:
                type: boolean
              object_id:
                type: string
              gateway:
                type: string
              dc:
                type: string
              usable_ips:
                type: array
                items:
                  type: string
    ServersMaintenancePatchModel:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/ServerMaintenanceObjectModel'
    ErrorModel:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
    ServerReverseDNSGetModel:
      type: object
      properties:
        total:
          type: integer
        offset:
          type: integer
        values:
          type: array
          items:
            type: object
            properties:
              fqdn:
                type: string
              ipAddress:
                type: string
              uuid:
                type: string
        limit:
          type: integer
        sortBy:
          type: string
        totalUnfiltered:
          type: integer
        filters:
          type: array
        direction:
          type: integer
    ActionItemsListModel:
      type: object
      properties:
        total:
          type: integer
        offset:
          type: integer
        limit:
          type: integer
        sortBy:
          type: string
        list:
          type: array
          items:
            $ref: '#/components/schemas/ActionItemsGetModel'
        direction:
          type: string
    ServerMaintenanceRespModel:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/ServerMaintenanceObjectModel'
        errors:
          type: array
          items:
            type: string
    ServerListModel:
      type: object
      properties:
        total:
          type: integer
        offset:
          type: integer
        values:
          type: array
          items:
            $ref: '#/components/schemas/ServerGetModel'
        limit:
          type: integer
        sortBy:
          type: string
        direction:
          type: integer
    RootPasswordPatchModel:
      type: object
      properties:
        password:
          type: string
    InstallProgressResponseModel:
      type: object
      properties:
        progress:
          type: string
        step:
          type: string
        position:
          type: string
        uuid:
          type: string
        steps:
          type: object
          properties:
            stopped:
              type: string
            adding:
              type: string
            reboot1:
              type: string
            rebooted1:
              type: string
            format:
              type: string
            install:
              type: string
            postinstall:
              type: string
            reboot2:
              type: string
            rebooted2:
              type: string
            upgrade:
              type: string
            post-upgrade:
              type: string
            finished:
              type: string
    ActionItemsGetModel:
      type: object
      properties:
        sub_source:
          type: string
        metadata:
          type: object
          properties:
            alertImpact:
              type: string
            alertSubType:
              type: string
            resourceId:
              type: string
            alertType:
              type: string
            resource:
              type: object
              properties:
                resourceHealthValue:
                  type: integer
                dpcAdapter:
                  type: object
                  properties:
                    vcenterHostname:
                      type: string
                    createdDate:
                      type: number
                    name:
                      type: string
                    uuid:
                      type: string
                createdDate:
                  type: number
                resourceHealth:
                  type: string
                name:
                  type: string
                uuid:
                  type: string
                adapterUuid:
                  type: string
                resourceType:
                  type: string
            alertLevel:
              type: string
            suspendUntilDate:
              type: number
            updatedDate:
              type: number
            uuid:
              type: string
            controlState:
              type: string
            symptoms:
              type: array
              items:
                type: object
                properties:
                  symptomDefinition:
                    type: object
                    properties:
                      resourceKindKey:
                        type: string
                      adapterKindKey:
                        type: string
                      cancelCycles:
                        type: integer
                      conditionSeverity:
                        type: string
                      conditionThresholdType:
                        type: string
                      conditionTargetKey:
                        type: string
                      conditionEventType:
                        type: string
                      conditionOperatorSymbol:
                        type: string
                      waitCycles:
                        type: integer
                      symptomDefinitionIdKey:
                        type: string
                      conditionKey:
                        type: string
                      conditionIsInstanced:
                        type: boolean
                      conditionOperator:
                        type: string
                      name:
                        type: string
                      conditionValue:
                        type: string
                      conditionFaultKey:
                        type: string
                      conditionType:
                        type: string
                      metrics:
                        type: object
                        properties:
                          conditionMetric:
                            type: object
                            properties:
                              dataType2:
                                type: string
                              unit:
                                type: string
                              defaultMonitored:
                                type: boolean
                              instanceType:
                                type: string
                              name:
                                type: string
                              property:
                                type: boolean
                              description:
                                type: string
                              rollupType:
                                type: string
                              moni

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