openapi: 3.0.1
info:
title: Compass Action Items User Accounts 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: User Accounts
description: Enpionts related to user accounts
paths:
/users/{userUUID}:
delete:
description: Delete user account
parameters:
- description: The UUID of the user, can be retrieved from the user list endpoint.
in: path
name: userUUID
required: true
schema:
type: string
- description: Required with Compass API token.
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
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 500 response
summary: Delete User Account
tags:
- User Accounts
operationId: deleteUsersByUserUUID
get:
description: Retrieves a JSON object containing a single user account by userUUID.
parameters:
- description: The UUID of the user, can be retrieved from the user list endpoint.
in: path
name: userUUID
required: true
schema:
type: string
- description: Required with Compass API token.
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/UserGetModel'
description: 200 response
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 404 response
summary: Get User Account
tags:
- User Accounts
operationId: getUsersByUserUUID
patch:
description: Update user account
parameters:
- description: The UUID of the user, can be retrieved from the user list endpoint.
in: path
name: userUUID
required: true
schema:
type: string
- description: Required with Compass API token.
Provide keyword **Bearer** and space before token.
in: header
name: Authorization
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdatePatchModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserAddResponseModel'
description: 200 response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 500 response
summary: Update User Account
tags:
- User Accounts
operationId: updateUsersByUserUUID
/users/roles:
get:
description: Available user roles.
parameters:
- description: Object list sort direction.
in: query
name: direction
schema:
type: string
- description: Limits the number of returned objects.
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.
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/UserRoleListModel'
description: 200 response
summary: Retrieve Available User Roles
tags:
- User Accounts
operationId: getUsersRoles
/users:
get:
description: Retrieves a JSON object containing a list of user accounts.
parameters:
- description: Object list sort direction.
in: query
name: direction
schema:
type: string
- description: Limits the number of returned objects.
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.
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/UserListModel'
description: 200 response
summary: List User Accounts
tags:
- User Accounts
operationId: getUsers
post:
description: Add user account
parameters:
- description: Required with Compass API token.
Provide keyword **Bearer** and space before token.
in: header
name: Authorization
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserAddPostModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserAddResponseModel'
description: 200 response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 500 response
summary: Add User Account
tags:
- User Accounts
operationId: createUsers
/users/{userUUID}/admin-disabled:
patch:
description: Update user, remove administrator permissions.
parameters:
- description: The UUID of the user, can be retrieved from the user list endpoint.
in: path
name: userUUID
required: true
schema:
type: string
- description: Required with Compass API token.
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/UserAddResponseModel'
description: 200 response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 500 response
summary: Disable User Admin
tags:
- User Accounts
operationId: updateUsersByUserUUIDAdminDisabled
/users/{userUUID}/admin-enabled:
patch:
description: Update user, add administrator permissions.
parameters:
- description: The UUID of the user, can be retrieved from the user list endpoint.
in: path
name: userUUID
required: true
schema:
type: string
- description: Required with Compass API token.
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/UserAddResponseModel'
description: 200 response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 500 response
summary: Enable User Admin
tags:
- User Accounts
operationId: updateUsersByUserUUIDAdminEnabled
/users/{userUUID}/roles/{roleUUID}:
patch:
description: Remove user Role
parameters:
- description: The UUID of the user, can be retrieved from the user list endpoint.
in: path
name: userUUID
required: true
schema:
type: string
- description: The UUID of the user role, can be retrieved from the roles list endpoint.
in: path
name: roleUUID
required: true
schema:
type: string
- description: Required with Compass API token.
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/UserAddResponseModel'
description: 200 response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 500 response
summary: Remove User Role
tags:
- User Accounts
operationId: updateUsersByUserUUIDRolesByRoleUUID
/users/{userUUID}/roles:
patch:
description: Add user Role
parameters:
- description: The UUID of the user, can be retrieved from the user list endpoint.
in: path
name: userUUID
required: true
schema:
type: string
- description: Required with Compass API token.
Provide keyword **Bearer** and space before token.
in: header
name: Authorization
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserRolePatchModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserAddResponseModel'
description: 200 response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
description: 500 response
summary: Add User Role
tags:
- User Accounts
operationId: updateUsersByUserUUIDRoles
components:
schemas:
UserGetModel:
type: object
properties:
netsuiteContactId:
type: number
lastName:
type: string
uberContactId:
type: number
passwordExpireDate:
type: string
supportAccounts:
type: array
items:
type: string
bearerType:
type: string
updatedDate:
type: string
type:
type: integer
uuid:
type: string
uid:
type: string
imageUri:
type: string
agreedEulaVersions:
type: array
items:
type: string
permissions:
type: array
items:
type: string
secretEnabled:
type: boolean
company:
type: object
properties:
displayName:
type: string
description:
type: string
active:
type: boolean
externalId:
type: string
updatedDate:
type: string
type:
type: integer
uuid:
type: string
total_servers_no_agents:
type: integer
uberClientId:
type: number
referrer:
type: string
imageUri:
type: string
createdDate:
type: string
provider:
type: string
ldap:
type: string
name:
type: string
total_servers:
type: integer
eulaUuid:
type: string
id:
type: number
projectId:
type: string
total_servers_agents:
type: integer
netsuiteClientId:
type: number
id:
type: number
acceptedEulaLatest:
type: boolean
email:
type: string
externalId:
type: number
active:
type: boolean
firstName:
type: string
createdDate:
type: string
phone:
type: string
adminEnabled:
type: boolean
username:
type: string
status:
type: integer
UserAddPostModel:
required:
- email
- firstName
- lastName
- username
type: object
properties:
firstName:
type: string
lastName:
type: string
phone:
type: string
active:
type: boolean
title:
type: string
department:
type: string
email:
type: string
username:
type: string
UserRoleGetModel:
type: object
properties:
company_uuid:
type: string
permissions:
type: array
items:
$ref: '#/components/schemas/UserPermissionGetModel'
name:
type: string
description:
type: string
uuid:
type: string
ErrorModel:
type: object
properties:
error:
type: object
properties:
code:
type: integer
message:
type: string
UserAddResponseModel:
type: object
properties:
href:
type: string
uuid:
type: string
UserRolePatchModel:
required:
- roleUuid
type: object
properties:
roleUuid:
type: string
UserListModel:
type: object
properties:
total:
type: integer
offset:
type: integer
limit:
type: integer
sortBy:
type: string
list:
type: array
items:
$ref: '#/components/schemas/UserGetModel'
direction:
type: integer
UserPermissionGetModel:
type: object
properties:
createdAt:
type: string
name:
type: string
uuid:
type: string
value:
type: string
SuccessModel:
type: object
properties:
success:
type: boolean
UserUpdatePatchModel:
type: object
properties:
firstName:
type: string
lastName:
type: string
phone:
type: string
active:
type: boolean
title:
type: string
department:
type: string
email:
type: string
username:
type: string
UserRoleListModel:
type: object
properties:
total:
type: integer
offset:
type: integer
limit:
type: integer
sortBy:
type: string
list:
type: array
items:
$ref: '#/components/schemas/UserRoleGetModel'
direction:
type: integer
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API token issued from the Compass portal (Profile > API Tokens). Sent as `Authorization: Bearer `. See https://compass-horizoniq.readme.io/reference/authentication'