OpenAPI Specification
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