siip-available-ips/unms.yaml
DANYDHSV ecee38cf96 feat: implementar sistema de validación de IPs de 4 capas v1.6.0
- Agregar validación multi-capa para garantizar IPs 100% disponibles
- Capa 1: Filtrar IPs de dispositivos registrados en UISP
- Capa 2: Filtrar IPs de servicios CRM suspendidos/finalizados (449 IPs)
- Capa 3: Validar IPs usando búsqueda de sitios con type=subscriber
- Capa 4: Verificación opcional por ping para dispositivos de terceros

Nuevos Componentes:
- src/IpValidator.php: Clase de validación por búsqueda de sitios
- Validación progresiva en frontend JavaScript
- Endpoint action=validate en public.php

Mejoras:
- CrmService.php: Filtrado mejorado de servicios suspendidos/finalizados
- IpSearchService.php: Extraer todas las IPs de ipAddressList
- Frontend: Validación progresiva de IPs con feedback visual
- Cambiar suspended=false a suspended=true en API de UISP

Correcciones:
- Corregir variable $config indefinida en handler de validación
- Corregir falsos positivos agregando parámetro type=subscriber
- Corregir IPs secundarias no detectadas
- Corregir IPs de servicios suspendidos/finalizados mostrándose disponibles

Resultados de Pruebas:
- IP 172.16.54.70 (servicio finalizado): Filtrada correctamente por capa CRM
- IP 172.16.54.58 (cliente activo): Filtrada correctamente por búsqueda de sitios
- Todas las IPs mostradas verificadas como 100% disponibles

Documentación:
- Actualizado README.md con detalles del sistema de 4 capas
- Actualizado CHANGELOG.md con notas de versión 1.6.0
- Creado walkthrough.md completo
2025-12-06 12:34:58 -06:00

6592 lines
164 KiB
YAML

swagger: '2.0'
info:
title: UNMS API
description: >-
You can authorize calls with x-auth-token by clicking the button on the
right, to not have to fill in
authorization token for each request. Entered value in authorization token
for a request,
will be replaced by the one entered in authorization. To get this token use
/user/login request.
version: ''
basePath: /v2.1
tags:
- name: user
description: User authorization and settings
- name: users
description: Edit users and invites
- name: nms
description: 'UNMS settings with SMTP configuration, SSL and backups'
- name: sites
description: Manage sites and their pictures
- name: devices
description: All device related operations
- name: tasks
description: View or cancel task(s)
- name: logs
description: View logs
- name: outages
description: View outages
- name: discovery
description: Scan for devices and connect them to UNMS
- name: firmwares
description: Manage firmwares
securityDefinitions:
UserSecurity:
type: apiKey
in: header
name: x-auth-token
description: User authorization token
security:
- UserSecurity: []
produces:
- application/json
paths:
/user:
get:
tags:
- user
summary: Get the authenticated user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Authenticated user
schema:
$ref: '#/definitions/User'
'406':
description: Invalid credentials
schema:
$ref: '#/definitions/Error'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- user
summary: Updates authenticated user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
type: object
properties:
username:
type: string
email:
type: string
currentPassword:
type: string
newPassword:
type: string
description: nullable string
responses:
'200':
description: Updated authenticated user
schema:
$ref: '#/definitions/User'
'406':
description: Invalid current password provided
schema:
$ref: '#/definitions/Error'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/user/login:
post:
tags:
- user
summary: Login
security: []
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/Login'
responses:
'200':
description: User
headers:
x-auth-token:
type: string
description: User authorization token
schema:
$ref: '#/definitions/User'
'201':
description: TwoFactorToken
schema:
$ref: '#/definitions/TwoFactorToken'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/user/login/totpauth:
post:
tags:
- user
summary: Two Factor Authentication login step 2
security: []
parameters:
- name: body
in: body
required: true
schema:
type: object
properties:
token:
type: string
description: token id from successfull login
verificationCode:
type: string
description: 6 digit code from Authenticator
sessionTimeout:
type: number
password:
type: string
responses:
'200':
description: User
headers:
x-auth-token:
type: string
description: User authorization token
schema:
$ref: '#/definitions/User'
'401':
description: Bad verification code
schema:
$ref: '#/definitions/Error'
'404':
description: Two Factor Token not found
schema:
$ref: '#/definitions/Error'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/user/totpauth:
get:
tags:
- user
summary: Gets new information for two factor authentication
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: New two factor secret
schema:
$ref: '#/definitions/TwoFactorSecret'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- user
summary: Sets two factor authentication for user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
type: object
properties:
password:
type: string
verificationCode:
type: string
description: 6 digit code from Authenticator
totpAuthEnabled:
type: boolean
totpAuthSecret:
type: string
responses:
'200':
description: Updated authenticated user
schema:
$ref: '#/definitions/User'
'403':
description: Bad username or password / Bad verification code
schema:
$ref: '#/definitions/Error'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/user/logout:
post:
tags:
- user
summary: Logout
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Result of logout action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/user/profile:
get:
tags:
- user
summary: Get the authenticated user profile
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Authenticated user profile
schema:
$ref: '#/definitions/UserProfile'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- user
summary: Updates authenticated user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/UserProfile'
responses:
'200':
description: Updated authenticated user profile
schema:
$ref: '#/definitions/UserProfile'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/user/password/requestreset:
post:
tags:
- user
summary: Login
parameters:
- name: body
in: body
required: true
schema:
type: object
properties:
email:
type: string
responses:
'201':
description: Result of request reset password action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/user/password/reset:
post:
tags:
- user
summary: Login
parameters:
- name: body
in: body
required: true
schema:
type: object
properties:
token:
type: string
password:
type: string
description: new password
responses:
'200':
description: Result of reset password action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/users:
get:
tags:
- users
summary: Return list of users
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: List of users
schema:
type: array
items:
$ref: '#/definitions/User'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- users
summary: Creates new user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
type: object
properties:
email:
type: string
username:
type: string
password:
type: string
responses:
'201':
description: Newly created user
schema:
$ref: '#/definitions/User'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/users/{id}':
delete:
tags:
- users
summary: Delete user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- users
summary: Updates user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/User'
responses:
'200':
description: Updated user
schema:
$ref: '#/definitions/User'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/users/{id}/reinvite':
post:
tags:
- users
summary: Reinvites user by email
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of reinvite action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/enums:
get:
tags:
- nms
summary: Return current codebooks
responses:
'200':
description: Configuration status
schema:
$ref: '#/definitions/Enums'
/nms/connection:
get:
tags:
- nms
summary: Return connect string for unms instance
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Connection string
schema:
type: string
/nms/setup:
get:
tags:
- nms
summary: Return status of UNMS configuration
responses:
'200':
description: Configuration status
schema:
type: object
properties:
isConfigured:
type: boolean
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- nms
summary: Set up the UNMS instance
parameters:
- name: body
in: body
required: true
schema:
type: object
properties:
hostname:
type: string
useLetsEncrypt:
type: boolean
user:
type: object
properties:
username:
type: string
email:
type: string
password:
type: string
smtp:
$ref: '#/definitions/MailServer'
responses:
'201':
description: Result of setup action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/server-config:
get:
tags:
- nms
summary: Return UNMS server configuration
responses:
'200':
description: Server configuration
schema:
type: object
properties:
isCloudSmtpAvailable:
type: boolean
canConfigureMaps:
type: boolean
latestVersionUrl:
type: string
updateVersionOverride:
type: string
useCustomSslCert:
type: boolean
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/settings:
get:
tags:
- nms
summary: Get nms settings
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Nms settings
schema:
$ref: '#/definitions/NmsSettings'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- nms
summary: Updated nms settings
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/NmsSettings'
responses:
'200':
description: Nms settings
schema:
$ref: '#/definitions/NmsSettings'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/update:
get:
tags:
- nms
summary: Get nms update status
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Nms update status
schema:
$ref: '#/definitions/NmsUpdateStatus'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- nms
summary: Request NMS update
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
type: object
properties:
version:
type: string
responses:
'200':
description: Result of request
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/refresh-certificate:
put:
tags:
- nms
summary: Refresh NMS certificate
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Result of request
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/maintenance/backup:
get:
tags:
- nms
summary: Download data backup
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: retention
in: query
type: number
required: true
enum:
- 7
- 30
- 60
- 90
- 180
- 365
- -1
responses:
'200':
description: Backup file
schema:
type: file
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- nms
summary: Upload data backup
consumes:
- multipart/form-data
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: file
in: formData
description: The uploaded backup file
required: true
type: file
responses:
'200':
description: Result of upload action
schema:
$ref: '#/definitions/Status'
'401':
description: Unknown format of backup file
schema:
$ref: '#/definitions/Error'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/maintenance/backup/restore:
get:
tags:
- nms
summary: Restores uploaded backup file
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Result of restore action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/maintenance/supportinfo:
get:
tags:
- nms
summary: Download support info
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Support info file
schema:
type: file
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/mailserver:
get:
tags:
- nms
summary: Fetch mail server settings
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Mailserver settings
schema:
$ref: '#/definitions/MailServer'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- nms
summary: Update mail server settings
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/MailServer'
responses:
'200':
description: Updated mail server settings
schema:
$ref: '#/definitions/MailServer'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/mailserver/test:
post:
tags:
- nms
summary: test mail server settings by sending email
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: body
in: body
required: true
schema:
type: object
properties:
to:
type: string
description: email address where testing email should be sent
smtp:
$ref: '#/definitions/MailServer'
responses:
'200':
description: Result of test action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/summary:
get:
tags:
- nms
summary: 'Various badge-count like values, e.g. unread logs count'
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: outagesTimestamp
in: query
required: true
type: string
- name: logsTimestamp
in: query
required: true
type: string
- name: logsLevel
in: query
type: array
required: true
collectionFormat: multi
items:
type: string
enum:
- error
- warning
- info
responses:
'200':
description: Various counts
schema:
$ref: '#/definitions/NmsSummary'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/nms/statistics:
get:
tags:
- nms
summary: Get UNMS network statistics
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: interval
in: query
type: string
enum:
- hour
- day
- month
required: true
responses:
'200':
description: Get UNMS network statistics
schema:
$ref: '#/definitions/NMSStatistics'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/sites:
get:
tags:
- sites
summary: List of all sites in network
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: query
type: string
required: false
responses:
'200':
description: An array of sites
schema:
type: array
items:
$ref: '#/definitions/SiteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- sites
summary: Create new site
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
type: object
properties:
name:
type: string
address:
type: string
contactName:
type: string
description: nullable string
contactPhone:
type: string
description: nullable string
contactEmail:
type: string
description: nullable string
note:
type: string
description: nullable string
parentSiteId:
type: string
description: nullable string
location:
type: object
description: nullable string
properties:
latitude:
type: string
description: nullable string
longiture:
type: string
description: nullable string
responses:
'201':
description: Result of update image
schema:
$ref: '#/definitions/SiteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/sites/{id}':
get:
tags:
- sites
summary: Return a site's detail
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Site's detail
schema:
$ref: '#/definitions/SiteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- sites
summary: Update site
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/SiteOverview'
responses:
'200':
description: Result of update site
schema:
$ref: '#/definitions/SiteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- sites
summary: Delete site and unauthorize all connected devices
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/sites/{id}/images':
get:
tags:
- sites
summary: Return all site images sorted by image order
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Site detail
schema:
type: array
items:
$ref: '#/definitions/ImageOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- sites
summary: Upload new image and create image thumbnail
consumes:
- multipart/form-data
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
required: true
type: string
- name: file
in: formData
description: The uploaded image or multiple images
required: true
type: file
responses:
'201':
description: Result of image upload
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/sites/{siteId}/images/{imageId}':
get:
tags:
- sites
summary: Return image file
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: path
type: string
required: true
- name: imageId
in: path
type: string
required: true
responses:
'200':
description: Image file
schema:
type: file
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
patch:
tags:
- sites
summary: Update image
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: path
type: string
required: true
- name: imageId
in: path
type: string
required: true
- name: payload
in: body
required: true
schema:
type: object
properties:
name:
type: string
description: not nullable
description:
type: string
description: not nullable
responses:
'200':
description: Result of update action
schema:
$ref: '#/definitions/ImageOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- sites
summary: Delete image
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: imageId
in: path
type: string
required: true
- name: siteId
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/sites/{siteId}/images/{imageId}/reorder':
post:
tags:
- sites
summary: Change image order
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: path
type: string
required: true
- name: imageId
in: path
type: string
required: true
- name: payload
in: body
required: true
schema:
type: object
properties:
currentOrder:
type: number
description: Current order value
nextOrder:
type: number
description: New order value
responses:
'200':
description: Result of reordering
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/sites/{siteId}/images/{imageId}/rotateleft':
post:
tags:
- sites
summary: Rotate the image 90 degrees to left
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: path
type: string
required: true
- name: imageId
in: path
type: string
required: true
responses:
'200':
description: Result of rotation action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/sites/{siteId}/images/{imageId}/rotateright':
post:
tags:
- sites
summary: Rotate the image 90 degrees to right
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: path
type: string
required: true
- name: imageId
in: path
type: string
required: true
responses:
'200':
description: Result of rotation action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/devices:
get:
tags:
- devices
summary: List of all devices in network
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: query
required: false
type: string
- name: parentId
in: query
required: false
type: string
responses:
'200':
description: An array of devices
schema:
type: array
items:
$ref: '#/definitions/DeviceStatusOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/devices/aps/profiles:
get:
tags:
- devices
summary: List of all access points connection profiles
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: An array of profiles
schema:
type: array
items:
$ref: '#/definitions/DeviceAPSProfile'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}':
get:
tags:
- devices
summary: Device status overview
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Device status overview
schema:
$ref: '#/definitions/DeviceStatusOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Delete device
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/devices/ssids:
get:
tags:
- devices
summary: Get devices wireless configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: List of devices wireless configuration
schema:
type: array
items:
type: object
properties:
ssid:
type: string
mac:
type: string
key:
type: string
deviceId:
type: string
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/authorize':
post:
tags:
- devices
summary: Authorize device
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: payload
in: body
required: true
schema:
type: object
properties:
siteId:
type: string
responses:
'200':
description: Result of authorize action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/refresh':
post:
tags:
- devices
summary: 'Refresh device communication, remove macAesKey'
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of refresh action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/restart':
post:
tags:
- devices
summary: 'Restart device, device action reboot'
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of restart action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/reset':
post:
tags:
- devices
summary: 'Reset device statistics, action clear-traffic-analysis'
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of reset action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/locate':
post:
tags:
- devices
summary: Start device locating
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of locate action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/unlocate':
post:
tags:
- devices
summary: Stop device locating
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of unlocate action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/statistics':
get:
tags:
- devices
summary: Return device statistics
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: interval
in: query
type: string
enum:
- hour
- day
- month
required: true
responses:
'200':
description: Device statistics
schema:
$ref: '#/definitions/DeviceStatistics'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/devices/backups:
post:
tags:
- devices
summary: Create and download a new multi device backup
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
type: object
properties:
deviceIds:
type: array
items:
type: string
responses:
'200':
description: Backup file
schema:
type: file
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{id}/backups':
get:
tags:
- devices
summary: Return list of device backups
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Device backups
schema:
type: array
items:
$ref: '#/definitions/DeviceBackup'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- devices
summary: Create new device backup
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Newly created backup
schema:
$ref: '#/definitions/DeviceBackup'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Upload data backup
consumes:
- multipart/form-data
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: file
in: formData
description: The uploaded backup file or files
required: true
type: file
responses:
'200':
description: List of newly uploaded backups
schema:
type: array
items:
$ref: '#/definitions/DeviceBackup'
'401':
description: Unknown format of backup file
schema:
$ref: '#/definitions/Error'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/backups/{backupId}':
get:
tags:
- devices
summary: Return device configuration backup file
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: backupId
in: path
type: string
required: true
- name: replaceUnmsKey
in: query
type: boolean
required: false
responses:
'200':
description: Backup file
schema:
type: file
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Delete backup
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: backupId
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/backups/{backupId}/apply':
post:
tags:
- devices
summary: Update device configuration from backup file
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: backupId
in: path
type: string
required: true
responses:
'200':
description: Result of apply action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/system':
get:
tags:
- devices
summary: Device system configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
responses:
'200':
description: Device system configuration
schema:
type: array
items:
$ref: '#/definitions/System'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update device system configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/System'
responses:
'200':
description: Updated device system configuration
schema:
$ref: '#/definitions/System'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/system/unms':
get:
tags:
- devices
summary: Device specific UNMS settings
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
responses:
'200':
description: Device specific UNMS settings
schema:
$ref: '#/definitions/UnmsSettings'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update device specific unms settings
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/UnmsSettings'
responses:
'200':
description: Updated device specific unms settings
schema:
$ref: '#/definitions/UnmsSettings'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/services':
get:
tags:
- devices
summary: Device services
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
responses:
'200':
description: Device services
schema:
type: array
items:
$ref: '#/definitions/Services'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update device services
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/Services'
responses:
'200':
description: Updated device services
schema:
$ref: '#/definitions/Services'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces':
get:
tags:
- devices
summary: Return list of device interfaces
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
responses:
'200':
description: Device interfaces
schema:
type: array
items:
$ref: '#/definitions/InterfaceOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces/vlan':
post:
tags:
- devices
summary: Create new vlan interface
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
type: object
properties:
description:
type: string
description: nullable string
interface:
type: string
addresses:
type: array
items:
$ref: '#/definitions/InterfaceAddressOverview'
mtu:
$ref: '#/definitions/MTU'
vlanId:
type: number
responses:
'200':
description: Newly created vlan interface
schema:
$ref: '#/definitions/InterfaceConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces/pppoe':
post:
tags:
- devices
summary: Create new pppoe interface
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
type: object
properties:
id:
$ref: '#/definitions/PPPOEID'
mtu:
$ref: '#/definitions/MTU'
interface:
$ref: '#/definitions/InterfaceIdentification'
password:
type: string
account:
type: string
description: nullable string
responses:
'200':
description: Newly created vlan interface
schema:
$ref: '#/definitions/InterfaceConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces/{interfaceName}':
get:
tags:
- devices
summary: Get interface configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
responses:
'200':
description: interface configuration
schema:
$ref: '#/definitions/InterfaceConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update interface configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/InterfaceConfig'
responses:
'200':
description: Updated interface config
schema:
$ref: '#/definitions/InterfaceConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Delete interface
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces/{interfaceName}/block':
post:
tags:
- devices
summary: Block interface
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
responses:
'200':
description: Result of block action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces/{interfaceName}/unblock':
post:
tags:
- devices
summary: Unblock interface
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
responses:
'200':
description: Result of unblock action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces/{interfaceName}/resetstats':
post:
tags:
- devices
summary: Reset interface statistics
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
responses:
'200':
description: Result of stats reset action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/{deviceId}/interfaces/{interfaceName}/ospf':
put:
tags:
- devices
summary: Set interface OSPF config
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
- name: body
in: body
schema:
$ref: '#/definitions/OSPFInterface'
responses:
'200':
description: Interface update status
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Unset interface OSPF config
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: deviceId
in: path
type: string
required: true
- name: interfaceName
in: path
type: string
required: true
responses:
'200':
description: Interface update status
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/devices/onus:
get:
tags:
- devices
summary: List of all onus in network
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: query
required: false
type: string
- name: parentId
in: query
required: false
type: string
responses:
'200':
description: An array of ONU devices
schema:
type: array
items:
$ref: '#/definitions/ONUStatusOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/onus/{id}':
get:
tags:
- devices
summary: Return ONU detail
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: ONU detail
schema:
$ref: '#/definitions/ONUStatusOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Delete ONU device - call OLT action DELETE_ONU (former forget action)
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/onus/{id}/clients':
get:
tags:
- devices
summary: Get all clients connected to ONU
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: An array of ONU clients
schema:
type: array
items:
$ref: '#/definitions/ONUClient'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/onus/{id}/upgrade':
post:
tags:
- devices
summary: Upgrade device
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of upgrade action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/onus/{id}/block':
post:
tags:
- devices
summary: Delete ONU GPON password and set status to blocked
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of block action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/onus/{id}/unblock':
post:
tags:
- devices
summary: Unblock ONU device - device action UNBLOCK_ONU
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of unblock action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/onus/{id}/resetstats':
post:
tags:
- devices
summary: Reset onu data statistics
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of stats reset action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}':
get:
tags:
- devices
summary: Return erouter detail
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Erouter detail
schema:
$ref: '#/definitions/ErouterStatusDetail'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/router/routes':
get:
tags:
- devices
summary: All routes
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Device routes
schema:
type: array
items:
$ref: '#/definitions/RouteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- devices
summary: Create new static route
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/StaticRoute'
responses:
'200':
description: Created static route
schema:
$ref: '#/definitions/RouteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Edit static route
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/StaticRoute'
responses:
'200':
description: Updated static route
schema:
$ref: '#/definitions/RouteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/router/routes/delete':
post:
tags:
- devices
summary: Delete route
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/StaticRoute'
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/router/routes/block':
post:
tags:
- devices
summary: Edit static route
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/StaticRoute'
responses:
'200':
description: Updated static route
schema:
$ref: '#/definitions/RouteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/router/routes/unblock':
post:
tags:
- devices
summary: Edit static route
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/StaticRoute'
responses:
'200':
description: Updated static route
schema:
$ref: '#/definitions/RouteOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/router/ospf':
get:
tags:
- devices
summary: Get OSPF configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: OSPF configuration
schema:
$ref: '#/definitions/OSPFConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update OSPF configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/OSPFConfig'
responses:
'200':
description: Updated OSPF configuration
schema:
$ref: '#/definitions/OSPFConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/router/ospf/areas':
get:
tags:
- devices
summary: All OSPF areas
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: OSPF areas
schema:
type: array
items:
$ref: '#/definitions/OSPFArea'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- devices
summary: Create new OSPF area
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/OSPFArea'
responses:
'200':
description: Created OSPF area
schema:
$ref: '#/definitions/OSPFArea'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/router/ospf/areas/{area}':
delete:
tags:
- devices
summary: Delete OSPF area
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: area
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update OSPF area
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: area
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/OSPFArea'
responses:
'200':
description: Updated OSPF area
schema:
$ref: '#/definitions/OSPFArea'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/dhcp/servers':
get:
tags:
- devices
summary: Device DHCP servers
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Device DHCP
schema:
type: array
items:
$ref: '#/definitions/DHCPServerConfiguration'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- devices
summary: Create new DHCP server
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/DHCPServerConfiguration'
responses:
'200':
description: Created device DHCP server
schema:
$ref: '#/definitions/DHCPServerConfiguration'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/dhcp/servers/{serverName}':
get:
tags:
- devices
summary: Get DHCP server configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: serverName
in: path
type: string
required: true
responses:
'200':
description: DHCP server configuration
schema:
$ref: '#/definitions/DHCPServerConfiguration'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update DHCP server configuration
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: serverName
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/DHCPServerConfiguration'
responses:
'200':
description: Updated DHCP server config
schema:
$ref: '#/definitions/DHCPServerConfiguration'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Delete DHCP server
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: serverName
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/dhcp/servers/{serverName}/block':
post:
tags:
- devices
summary: Block DHCP server
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: serverName
in: path
type: string
required: true
responses:
'200':
description: Result of block action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/dhcp/servers/{serverName}/unblock':
post:
tags:
- devices
summary: Unblock dhcp server
parameters:
- name: x-auth-token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: serverName
in: path
type: string
required: true
responses:
'200':
description: Result of unblock action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/dhcp/leases':
get:
tags:
- devices
summary: DHCP IP address leases
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: DHCP IP address leases
schema:
type: array
items:
$ref: '#/definitions/DHCPLease'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- devices
summary: Create DHCP IP address lease
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
type: object
properties:
id:
type: string
address:
type: string
description: ip address
mac:
type: string
serverName:
type: string
responses:
'200':
description: Created DHCP IP address lease
schema:
$ref: '#/definitions/DHCPLease'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/erouters/{id}/dhcp/leases/{serverName}/{leaseId}':
put:
tags:
- devices
summary: Update DHCP IP lease
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: serverName
in: path
type: string
required: true
- name: leaseId
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/DHCPLease'
responses:
'200':
description: Updated DHCP IP lease
schema:
$ref: '#/definitions/DHCPLease'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Delete DHCP IP lease
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: serverName
in: path
type: string
required: true
- name: leaseId
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/devices/olts:
get:
tags:
- devices
summary: List of all OLTs in network
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: siteId
in: query
required: false
type: string
responses:
'200':
description: An array of devices
schema:
type: array
items:
$ref: '#/definitions/DeviceStatusOverview'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/olts/{id}':
get:
tags:
- devices
summary: Return OLT detail
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: OLT detail
schema:
$ref: '#/definitions/OLTStatusDetail'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- devices
summary: Delete OLT form UNMS
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/olts/{id}/profiles':
get:
tags:
- devices
summary: List of all OLT ONU profiles
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: An array of devices
schema:
type: array
items:
$ref: '#/definitions/OLTONUProfile'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- devices
summary: Create OLT ONU profile
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/OLTONUProfile'
responses:
'200':
description: Created OLT ONU profile
schema:
$ref: '#/definitions/OLTONUProfile'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/olts/{id}/profiles/{profile}':
delete:
tags:
- devices
summary: Delete OLT form UNMS
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: profile
in: path
type: string
required: true
responses:
'200':
description: Result of delete action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update OLT ONU profile
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
- name: profile
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/OLTONUProfile'
responses:
'200':
description: Updated OLT ONU profile
schema:
$ref: '#/definitions/OLTONUProfile'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/airmaxes/{id}':
get:
tags:
- devices
summary: Return AirMax detail
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: AirMax detail
schema:
$ref: '#/definitions/AirMaxStatusDetail'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/aircubes/{id}':
get:
tags:
- devices
summary: Return AirCube detail
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: AirCube detail
schema:
$ref: '#/definitions/AirCubeStatusDetail'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/aircubes/{id}/stations':
get:
tags:
- devices
summary: Return AirCube station list
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: AirCube station list
schema:
type: array
items:
$ref: '#/definitions/Station'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/aircubes/{id}/frequency-lists':
get:
tags:
- devices
summary: Return AirCube frequency lists
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
description: device ID
in: path
type: string
required: true
responses:
'200':
description: AirCube station list
schema:
type: object
properties:
radio2GhzFrequencyList:
type: array
items:
type: object
properties:
channel:
type: number
mhz:
type: number
restricted:
type: boolean
active:
description: Currently configured frequency
type: boolean
radio5GhzFrequencyList:
type: array
items:
type: object
properties:
channel:
type: number
mhz:
type: number
restricted:
type: boolean
active:
description: Currently configured frequency
type: boolean
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/aircubes/{id}/config/wireless':
put:
tags:
- devices
summary: Update AirCube wireless config
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
description: device ID
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
type: object
properties:
wifi2Ghz:
$ref: '#/definitions/AirCubeWirelessConfig'
wifi5Ghz:
$ref: '#/definitions/AirCubeWirelessConfig'
responses:
'200':
description: Update status
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/aircubes/{id}/config/network':
get:
tags:
- devices
summary: Get AirCube network config
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
description: device ID
in: path
type: string
required: true
responses:
'200':
description: AirCube network config
schema:
$ref: '#/definitions/AirCubeNetworkConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update AirCube network config
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
description: device ID
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/AirCubeNetworkConfig'
responses:
'200':
description: Update status
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/devices/aircubes/{id}/config/system':
get:
tags:
- devices
summary: Get AirCube system config
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
description: device ID
in: path
type: string
required: true
responses:
'200':
description: AirCube system config
schema:
$ref: '#/definitions/AirCubeSystemConfig'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
put:
tags:
- devices
summary: Update AirCube system config
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
description: device ID
in: path
type: string
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/AirCubeSystemConfig'
responses:
'200':
description: Update status
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/devices/macs/:
get:
tags:
- devices
summary: Return a list of all devices' MAC address (except for ONUs)
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: List of MAC addresses
schema:
type: array
items:
type: string
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
'/tasks/{id}':
delete:
tags:
- tasks
summary: Cancel a task
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
type: string
required: true
responses:
'200':
description: Result of cancellation action
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
get:
tags:
- tasks
summary: Returns a mass upgrade task inner task items
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: id
in: path
required: true
type: string
- name: count
in: query
required: true
type: number
- name: page
in: query
required: true
type: number
responses:
'200':
description: An array of tasks
schema:
type: object
properties:
pagination:
type: object
properties:
count:
type: number
description: number of tasks returned
total:
type: number
description: total number of tasks
page:
type: number
description: the page of results returned
pages:
type: number
description: total number of pages available
aggregation:
type: object
properties:
allCount:
type: number
inProgressCount:
type: number
successCount:
type: number
failedCount:
type: number
canceledCount:
type: number
items:
type: array
items:
$ref: '#/definitions/Task'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/tasks:
get:
tags:
- tasks
summary: List all tasks
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: count
in: query
required: true
type: number
- name: page
in: query
required: true
type: number
- name: status
in: query
type: string
required: false
- name: period
in: query
type: number
required: false
description: unix timestamp in milliseconds
responses:
'200':
description: An array of tasks
schema:
type: object
properties:
pagination:
type: object
properties:
count:
type: number
description: number of tasks returned
total:
type: number
description: total number of tasks
page:
type: number
description: the page of results returned
pages:
type: number
description: total number of pages available
aggregation:
type: object
properties:
allCount:
type: number
inProgressCount:
type: number
successCount:
type: number
failedCount:
type: number
canceledCount:
type: number
items:
type: array
items:
$ref: '#/definitions/Task'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/tasks/in-progress:
get:
tags:
- tasks
summary: Return number of tasks in progress
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Number of tasks in progress
schema:
type: object
properties:
count:
type: number
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/logs:
get:
tags:
- logs
summary: List of all log items (former alerts/events)
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: count
in: query
required: true
type: number
- name: page
in: query
required: true
type: number
- name: siteId
in: query
type: string
required: false
- name: deviceId
in: query
type: string
required: false
- name: level
in: query
type: string
enum:
- info
- warning
- error
required: false
- name: period
in: query
type: number
required: false
description: unix timestamp in milliseconds
- name: query
in: query
type: string
required: false
description: search pattern
responses:
'200':
description: An array of Log items
schema:
type: object
properties:
pagination:
type: object
properties:
count:
type: number
description: number of logs returned
total:
type: number
description: total number of logs
page:
type: number
description: the page of results returned
pages:
type: number
description: total number of pages available
aggregation:
type: object
properties:
allCount:
type: number
infoCount:
type: number
warningCount:
type: number
errorCount:
type: number
items:
type: array
items:
$ref: '#/definitions/LogItem'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/logs/unread:
get:
tags:
- logs
summary: Number of unread logItems for logged-in user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: timestamp
in: query
type: number
description: unix timestamp in ms
required: true
- name: level
in: query
type: string
enum:
- error
- warning
- info
responses:
'200':
description: Number of unread logItems
schema:
type: object
properties:
count:
type: number
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/outages:
get:
tags:
- outages
summary: List of all network outages for last month
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: count
in: query
required: true
type: number
- name: page
in: query
required: true
type: number
- name: siteId
in: query
type: string
required: false
- name: deviceId
in: query
type: string
required: false
- name: type
in: query
type: string
enum:
- outage
- quality
required: false
- name: period
in: query
type: number
required: false
description: unix timestamp in milliseconds
- name: query
in: query
type: string
required: false
description: search pattern
responses:
'200':
description: An array of network outages
schema:
type: object
properties:
pagination:
type: object
properties:
count:
type: number
description: number of outages returned
total:
type: number
description: total number of outages
page:
type: number
description: the page of results returned
pages:
type: number
description: total number of pages available
aggregation:
type: object
properties:
allCount:
type: number
outageCount:
type: number
qualityCount:
type: number
items:
type: array
items:
$ref: '#/definitions/OutageItem'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/outages/unread:
get:
tags:
- outages
summary: Number of unread outageItems for logged-in user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: timestamp
in: query
type: number
description: unix timestamp in ms
required: true
responses:
'200':
description: Number of unread outageItems
schema:
type: object
properties:
count:
type: number
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/discovery:
get:
tags:
- discovery
summary: Fetch result of the last scan
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: If any result exists
schema:
$ref: '#/definitions/DiscoveryResult'
'404':
description: No result exists
schema:
type: object
properties:
message:
type: string
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
delete:
tags:
- discovery
summary: Delete and/or terminate the discovery process
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Result of deletion
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/discovery/start:
post:
tags:
- discovery
summary: Start new discovery run and terminate any ongoing for current user
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
type: object
properties:
range:
type: object
description: Ip range text and parsed value
properties:
input:
type: string
description: Textual representation of the range
parsed:
type: array
items:
type: object
description: Parsed ranges
responses:
'200':
description: Newly created result
schema:
$ref: '#/definitions/DiscoveryResult'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/discovery/stop:
post:
tags:
- discovery
summary: 'Cancel ongoing discovery task, discovery result is not deleted'
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: Canceled discovery result
schema:
$ref: '#/definitions/DiscoveryResult'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/discovery/credentials:
post:
tags:
- discovery
summary: Batch operation - set new credentials of given devices
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
type: object
properties:
devices:
description: Array of device IDs to set credentials
type: array
items:
type: string
credentials:
$ref: '#/definitions/SshCredentials'
responses:
'200':
description: Result of operation
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/discovery/connect:
post:
tags:
- discovery
summary: Batch operation - connects given devices to UNMS
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
type: object
properties:
devices:
description: Array of device IDs to set credentials
type: array
items:
type: string
responses:
'200':
description: Result of operation
schema:
$ref: '#/definitions/Status'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/firmwares:
get:
tags:
- firmwares
summary: Fetch fetch available firmwares
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
responses:
'200':
description: If any result exists
schema:
type: array
items:
$ref: '#/definitions/Firmware'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
post:
tags:
- firmwares
summary: Upload new firmware image
consumes:
- multipart/form-data
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: file
in: formData
description: The uploaded firmware file or multiple files
required: true
type: file
responses:
'200':
description: New firmware metadata
schema:
$ref: '#/definitions/Firmware'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
/firmwares/delete:
post:
tags:
- firmwares
summary: Batch firmware delete
parameters:
- name: x-auth-token
description: User authorization token
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
type: array
items:
type: object
properties:
origin:
type: string
filename:
type: string
responses:
'200':
description: Deleted firmwares
schema:
type: array
items:
$ref: '#/definitions/Firmware'
default:
description: Unexpected error
schema:
$ref: '#/definitions/Error'
definitions:
DeviceStatusOverview:
type: object
description: Read-only overview for device list
properties:
identification:
$ref: '#/definitions/DeviceIdentification'
overview:
$ref: '#/definitions/DeviceOverview'
firmware:
$ref: '#/definitions/DeviceFirmware'
attributes:
type: object
description: nullable field with variable properties depending on device type
parentId:
type: string
description: nullable string
latestBackup:
$ref: '#/definitions/LatestBackup'
DeviceAPSProfile:
type: object
description: Access points connection profiles
properties:
device:
$ref: '#/definitions/DeviceIdentification'
mac:
type: string
ssid:
type: string
key:
type: string
countryCode:
type: number
channelWidth:
type: number
frequency:
type: number
security:
type: string
enum:
- WEP
- WPA
- WPA2
- None
authentication:
type: string
enum:
- psk
- psk2
- ent
- none
latitude:
type: number
longitude:
type: number
airFiber:
type: object
properties:
mode:
type: string
enum:
- ap
- ap-ptp
- ap-ptmp
- ap-ptmp-airmax-mixed
- ap-ptmp-airmax-ac
- sta
- sta-ptp
- sta-ptmp
- aprepeater
- mesh
frameLength:
type: number
airMax:
type: object
properties:
mode:
type: string
enum:
- ap
- ap-ptp
- ap-ptmp
- ap-ptmp-airmax-mixed
- ap-ptmp-airmax-ac
- sta
- sta-ptp
- sta-ptmp
- aprepeater
- mesh
wps:
type: boolean
ONUStatusOverview:
type: object
description: Read-only ONU detail
properties:
identification:
$ref: '#/definitions/DeviceIdentification'
overview:
$ref: '#/definitions/DeviceOverview'
firmware:
$ref: '#/definitions/DeviceFirmware'
parentId:
type: string
description: nullable string
canDisplayStatistics:
type: boolean
description: >-
Logical switch which determines if it makes sense to display device
statistics to user
olt:
type: object
properties:
id:
type: string
port:
type: number
description: olt pon port
ONUClient:
type: object
description: Read-only ONU client
properties:
mac:
type: string
vendor:
type: string
OLTStatusDetail:
type: object
description: Read-only OLT detail
properties:
identification:
$ref: '#/definitions/DeviceIdentification'
overview:
$ref: '#/definitions/DeviceOverview'
firmware:
$ref: '#/definitions/DeviceFirmware'
upgrade:
$ref: '#/definitions/DeviceUpgradeStatus'
OLTONUProfile:
type: object
description: OLT ONU profile
properties:
adminPassword:
type: string
id:
type: string
name:
type: string
mode:
type: string
enum:
- router
- bridge
lanAddress:
type: string
description: cidr
lanProvisioned:
type: boolean
linkSpeed:
type: string
enum:
- auto
- 1000full
- 100full
- 100half
- 10full
- 10half
onuCount:
type: number
bridge:
type: object
properties:
includeVlans:
type: array
items:
type: number
nativeVlan:
type: number
router:
type: object
properties:
dhcpPoolStart:
type: string
description: ip
dhcpPoolEnd:
type: string
description: ip
wanVlan:
type: number
wanMode:
type: string
enum:
- dhcp
- pppoe
- static
gateway:
type: string
description: cidr
primaryDns:
type: string
description: ip
secondaryDns:
type: string
description: ip
dhcpServer:
type: string
enum:
- enabled
- disabled
- relay
dhcpRelay:
type: string
dhcpLeaseTime:
type: number
dnsProxyEnable:
type: boolean
ErouterStatusDetail:
type: object
description: Read-only erouter detail
properties:
identification:
$ref: '#/definitions/DeviceIdentification'
overview:
$ref: '#/definitions/DeviceOverview'
firmware:
$ref: '#/definitions/DeviceFirmware'
upgrade:
$ref: '#/definitions/DeviceUpgradeStatus'
gateway:
type: string
AirMaxStatusDetail:
type: object
description: Read-only AirMax detail
properties:
identification:
$ref: '#/definitions/DeviceIdentification'
overview:
$ref: '#/definitions/DeviceOverview'
firmware:
$ref: '#/definitions/DeviceFirmware'
upgrade:
$ref: '#/definitions/DeviceUpgradeStatus'
AirCubeStatusDetail:
type: object
description: Read-only AirCube detail
properties:
identification:
$ref: '#/definitions/DeviceIdentification'
overview:
$ref: '#/definitions/DeviceOverview'
firmware:
$ref: '#/definitions/DeviceFirmware'
upgrade:
$ref: '#/definitions/DeviceUpgradeStatus'
InterfaceOverview:
type: object
description: Read-only interface overview
properties:
identification:
$ref: '#/definitions/InterfaceIdentification'
addresses:
type: array
items:
$ref: '#/definitions/InterfaceAddressOverview'
status:
type: object
enum:
- $ref: '#/definitions/InterfaceStatus'
- null
statistics:
$ref: '#/definitions/InterfaceStatistics'
pppoe:
type: object
properties:
id:
$ref: '#/definitions/PPPOEID'
vlan:
type: object
properties:
id:
type: number
poe:
$ref: '#/definitions/POE'
enabled:
type: boolean
description: Enable/Disable
visible:
type: boolean
description: >-
Logical switch which determines if it makes sense to display the
interface to user
canDisplayStatistics:
type: boolean
description: >-
Logical switch which determines if it makes sense to display interface
statistics to user
InterfaceConfig:
type: object
description: Read-write interface configuration
properties:
identification:
$ref: '#/definitions/InterfaceIdentification'
enabled:
type: boolean
description: Enable/Disable
status:
type: object
enum:
- $ref: '#/definitions/InterfaceStatus'
- null
addresses:
type: array
items:
$ref: '#/definitions/InterfaceAddressOverview'
speed:
type: string
enum:
- auto
- 100full
- 100half
- 10full
- 10half
- 1000
- 10G
mtu:
$ref: '#/definitions/MTU'
proxyARP:
type: boolean
poe:
$ref: '#/definitions/POE'
switch:
type: object
properties:
vlanEnabled:
type: boolean
vlanCapable:
type: boolean
description: device is capable of VLAN on switch port
ports:
type: array
items:
type: object
properties:
interface:
$ref: '#/definitions/InterfaceIdentification'
enabled:
type: boolean
pvid:
type: number
description: >-
Value range is 1 - 4087. Pvid (port vlan id), when a packet
comes to eth0 from outside network with no "vlan tag", it
will be tagged with pvid and treated as a packet with vlan
tag.
vid:
type: array
items:
type: number
description: >-
Value range is 1 - 4087. Vid (vlan id) means the vlan
group that the eth port (ex. eth0) belongs to. It will
only accept packets with same vlan tag. If the coming
packet has different vlan tag from any of vid settings in
eth0, it will be dropped.
vlan:
type: object
properties:
id:
type: number
description: value 0 - 4094
interface:
$ref: '#/definitions/InterfaceIdentification'
pppoe:
type: object
properties:
id:
$ref: '#/definitions/PPPOEID'
interface:
$ref: '#/definitions/InterfaceIdentification'
password:
type: string
account:
type: string
pon:
type: object
properties:
authentication:
$ref: '#/definitions/PonAuthentication'
bridge:
type: object
description: nullable field
properties:
priority:
type: number
forwardingDelay:
type: number
helloTime:
type: number
maxAge:
type: number
stp:
type: boolean
ports:
type: object
properties:
enabled:
type: boolean
interface:
$ref: '#/definitions/InterfaceIdentification'
PonAuthentication:
type: object
properties:
authorizationType:
type: string
description: 'No auth, Pre-shared secret'
enum:
- no-auth
- pre-shared-secret
preSharedSecret:
type: string
DHCPServerConfiguration:
type: object
properties:
name:
type: string
interface:
type: string
description: network cidr (192.168.100.0/24)
rangeStart:
type: string
description: ip address
rangeEnd:
type: string
description: ip address
router:
type: string
description: ip address
dns1:
type: string
description: ip address
dns2:
type: string
description: ip address
leaseTime:
type: number
description: ms
unifiController:
type: string
description: IPv4 address
domain:
type: string
DHCPLease:
type: object
properties:
leaseId:
type: string
description: unique per dhcp server
type:
type: string
enum:
- dynamic
- static
address:
type: string
description: ip address
mac:
type: string
expiration:
type: string
description: expiration date in ISO format (UNMS-420); nullable string
hostname:
type: string
description: nullable string
serverName:
type: string
Services:
type: object
properties:
ntpClient:
type: object
properties:
enabled:
type: boolean
ntpServer1:
type: string
description: nullable string
ntpServer2:
type: string
description: nullable string
sshServer:
type: object
properties:
enabled:
type: boolean
sshPort:
type: number
description: nullable number
systemLog:
type: object
properties:
enabled:
type: boolean
server:
type: string
description: nullable string
level:
type: string
enum:
- emerg
- alert
- crit
- err
- warning
- notice
- info
- debug
telnetServer:
type: object
properties:
enabled:
type: boolean
port:
type: number
description: nullable number
snmpAgent:
type: object
properties:
enabled:
type: boolean
community:
type: string
description: nullable string
contact:
type: string
description: nullable string
location:
type: string
description: nullable string
webServer:
type: object
properties:
enabled:
type: boolean
httpPort:
type: number
description: nullable number
httpsPort:
type: number
description: nullable number
discovery:
type: object
properties:
enabled:
type: boolean
System:
type: object
properties:
name:
type: string
timezone:
type: string
admin:
type: object
properties:
login:
$ref: '#/definitions/Login'
domainName:
type: string
description: nullable string
gateway:
type: string
description: nullable string
dns1:
type: string
description: nullable string
dns2:
type: string
description: nullable string
readOnlyAccount:
type: object
properties:
enabled:
type: boolean
login:
$ref: '#/definitions/Login'
MTU:
type: number
description: 'Maximum transmission unit <68, 2018>'
POE:
type: object
properties:
output:
type: string
description: Power over Ethernet
enum:
- 'off'
- 24v
- 48v
- 24v-4pair
- 54v-4pair
- pthru
capacities:
type: array
items:
type: string
enum:
- 'off'
- 24v
- 48v
- 24v-4pair
- 54v-4pair
- pthru
PPPOEID:
type: number
description: value 0 - 4094
Enums:
type: object
description: enumerations (codebooks)
properties:
InterfaceIdentificationTypeEnum:
type: object
properties:
Bridge:
type: string
enum:
- bridge
Switch:
type: string
enum:
- switch
Pon:
type: string
enum:
- pon
Ethernet:
type: string
enum:
- ethernet
PonAuthorizationTypeEnum:
type: object
properties:
NoAuth:
type: string
enum:
- noauth
PSK:
type: string
enum:
- key
IpAddressTypeEnum:
type: object
properties:
Disabled:
type: string
description: always contains null
enum:
- null
Dhcp:
type: string
enum:
- dhcp
Static:
type: string
enum:
- static
MailServerTypeEnum:
type: object
properties:
NoSmtp:
type: string
enum:
- nosmtp
Cloud:
type: string
enum:
- cloud
Gmail:
type: string
enum:
- gmail
Smtp:
type: string
enum:
- smtp
ServiceEnum:
type: object
properties:
SshServer:
type: string
enum:
- sshServer
NtpClient:
type: string
enum:
- ntpClient
WebServer:
type: string
enum:
- ntpClient
Discovery:
type: string
enum:
- discovery
ServiceLabelEnum:
type: object
properties:
sshServer:
type: string
ntpClient:
type: string
webServer:
type: string
discovery:
type: string
StatusEnum:
type: object
properties:
All:
type: string
description: always contains null
enum:
- null
Active:
type: string
enum:
- active
Disabled:
type: string
enum:
- disabled
Disconnected:
type: string
enum:
- disconnected
Unauthorized:
type: string
enum:
- unauthorized
StatusLabelEnum:
type: object
properties:
'null':
type: string
description: null as an object key
active:
type: string
disabled:
type: string
disconnected:
type: string
unauthorized:
type: string
SiteTypeEnum:
type: object
properties:
Site:
type: string
enum:
- site
Endpoint:
type: string
enum:
- endpoint
AlertTypeEnum:
type: object
properties:
None:
type: string
enum:
- none
System:
type: string
enum:
- system
Custom:
type: string
enum:
- user
WifiAuthenticationEnum:
$ref: '#/definitions/WifiAuthenticationEnum'
WifiSecurityEnum:
$ref: '#/definitions/WifiSecurityEnum'
WirelessModeEnum:
$ref: '#/definitions/WirelessModeEnum'
NetworkModeEnum:
$ref: '#/definitions/NetworkModeEnum'
InterfaceIdentification:
type: object
description: read-only interface identification
properties:
position:
type: number
description: physical port position
type:
type: string
enum:
- ethernet
- pon
- switch
- bridge
name:
type: string
description: interface name
displayName:
type: string
description: computed display name from name and description
description:
type: string
description: nullable string
mac:
type: string
InterfaceAddressType:
type: string
description: nullable string
enum:
- dhcp
- dhcpv6
- static
InterfaceStatus:
type: object
description: Interface detail status
properties:
status:
description: State of Interface
type: string
enum:
- Active
- Disconnected
- Disabled
description:
type: string
description: 100 Mbps - Full Duplex
plugged:
type: boolean
description: connected/disconnected
speed:
type: number
description: float
duplex:
type: boolean
autoneg:
type: boolean
sfp:
type: object
description: nullable object
properties:
present:
type: boolean
vendor:
type: string
description: nullable string
part:
type: string
description: nullable string
maxSpeed:
type: number
olt:
type: boolean
InterfaceAddressOverview:
type: object
properties:
type:
$ref: '#/definitions/InterfaceAddressType'
cidr:
type: string
description: nullable string
DeviceIdentification:
type: object
description: read-only identification attributes
properties:
authorized:
type: boolean
description: device is added to nms
category:
type: string
enum:
- optical
- wired
- wireless
- accessories
displayName:
type: string
description: UNMS device alias or real name
firmwareVersion:
type: string
description: semver
id:
type: string
description: technical ID only for NMS
mac:
type: string
model:
type: string
description: 'short names, for example UF-OLT'
modelName:
type: string
description: 'full names, for example UFiber OLT'
name:
type: string
platformId:
type: string
description: 'short name, for example e600'
serialNumber:
type: string
site:
type: object
enum:
- $ref: '#/definitions/SiteIdentification'
- null
type:
type: string
enum:
- onu
- olt
- erouter
- eswitch
- epower
- airCube
- airMax
- airFiber
- toughSwitch
updated:
type: number
DeviceOverview:
type: object
description: Read-only basic device/client overview attributes
properties:
status:
type: string
description: >-
Read-only value generated by NMS - it is not part of GET_STATUS
response
enum:
- disabled
- active
- unauthorized
- disconnected
- unknown
uptime:
type: number
description: Uptime in seconds
lastSeen:
type: number
description: Last seen timestamp
cpu:
type: number
description: Current cpu load
ram:
type: number
description: Current memory usage
signal:
type: number
description: >-
Nullable prop; current signal level (only for airmax devices), for
example 55 dBm
locating:
type: boolean
description: True if device is in location mode
canUpgrade:
type: boolean
description: True if device can be upgraded
voltage:
type: number
description: System input voltage in V
temps:
type: array
items:
type: object
properties:
value:
description: Temperature in celsius
type: number
type:
enum:
- CPU
- BOARD
name:
description: >-
Temperature senzor name - Board 1, Board 2, Board 3, Board
(PHY), cpu, CPU, PHY, Board (CPU) etc.
type: string
distance:
type: number
description: nullable property; in meters
transmitPower:
type: number
description: nullable property; in dBm
receivePower:
type: number
description: nullable property; in dBm
biasCurrent:
type: number
description: nullable property in milli Ampers
rxRate:
type: number
description: nullable property; in bps
rxBytes:
type: number
description: nullable property; in Bytes
txRate:
type: number
description: nullable property; in bps
txBytes:
type: number
description: nullable property; in Bytes
txDropped:
type: number
description: nullable property
txErrors:
type: number
description: nullable property
rxDropped:
type: number
description: nullable property
rxErrors:
type: number
description: nullable property
NMSStatistics:
description: UNMS statistics for UNMS dashboard
type: object
properties:
period:
description: Number of milliseconds between data points
type: number
interval:
description: Start and end of the interval
type: object
properties:
start:
type: number
description: >-
Start time as milliseconds elapsed between 1 January 1970 00:00:00
UTC and the given time
end:
type: number
description: >-
End time as milliseconds elapsed between 1 January 1970 00:00:00
UTC and the given time
networkHealth:
description: >-
Network health in percentage. Ratio of online/disconnected sites and
clients.
$ref: '#/definitions/GraphDataSet'
allSites:
$ref: '#/definitions/GraphDataSet'
liveSites:
$ref: '#/definitions/GraphDataSet'
allClients:
$ref: '#/definitions/GraphDataSet'
liveClients:
$ref: '#/definitions/GraphDataSet'
DeviceStatistics:
description: Device statistics + statistics for all interfaces
type: object
properties:
period:
description: Number of milliseconds between data points
type: number
interval:
description: Start and end of the interval
type: object
properties:
start:
type: number
description: >-
Start time as milliseconds elapsed between 1 January 1970 00:00:00
UTC and the given time
end:
type: number
description: >-
End time as milliseconds elapsed between 1 January 1970 00:00:00
UTC and the given time
ram:
$ref: '#/definitions/GraphDataSet'
cpu:
$ref: '#/definitions/GraphDataSet'
ping:
$ref: '#/definitions/GraphDataSet'
errors:
$ref: '#/definitions/GraphDataSet'
interfaces:
type: array
items:
type: object
properties:
name:
type: string
receive:
$ref: '#/definitions/GraphDataSet'
transmit:
$ref: '#/definitions/GraphDataSet'
InterfaceStatistics:
type: object
properties:
timestamp:
type: string
rxrate:
type: number
rxbytes:
type: number
txrate:
type: number
txbytes:
type: number
dropped:
type: number
errors:
type: number
GraphDataSet:
type: array
description: Generic graph data set
items:
type: object
properties:
x:
type: number
description: >-
Milliseconds elapsed between 1 January 1970 00:00:00 UTC and the
given date
'y':
type: number
LogItem:
type: object
properties:
id:
type: string
timestamp:
type: number
description: unix timestamp in milliseconds
message:
type: string
level:
type: string
enum:
- info
- warning
- error
tags:
type: array
items:
type: string
enum:
- site
- device
- endpoint
- network
device:
type: object
enum:
- $ref: '#/definitions/DeviceIdentification'
- null
site:
type: object
enum:
- $ref: '#/definitions/SiteIdentification'
- null
OutageItem:
type: object
properties:
startTimestamp:
type: string
endTimestamp:
type: string
deviceIdentification:
$ref: '#/definitions/DeviceIdentification'
type:
type: string
enum:
- quality
- outage
ImageOverview:
type: object
properties:
identification:
$ref: '#/definitions/ImageIdentification'
name:
type: string
description:
type: string
fileName:
type: string
fileType:
type: string
height:
type: number
width:
type: number
size:
description: in KB
type: number
date:
type: string
thumbUrl:
type: string
fullUrl:
type: string
order:
description: image order in sites gallery
type: number
ImageIdentification:
type: object
properties:
id:
type: string
SiteIdentification:
type: object
properties:
id:
type: string
status:
type: string
enum:
- active
- disconnected
name:
type: string
type:
type: string
enum:
- site
- endpoint
parent:
type: object
enum:
- null
- $ref: '#/definitions/SiteIdentification'
SiteOverview:
description: >-
Gallery is created with site. There is only one gallery per site. Site
devices is possible to load with /devices resource.
type: object
properties:
identification:
$ref: '#/definitions/SiteIdentification'
description:
$ref: '#/definitions/SiteDescription'
notifications:
type: object
properties:
type:
type: string
enum:
- none
- system
- custom
users:
type: array
items:
$ref: '#/definitions/User'
SiteDescription:
type: object
properties:
note:
type: string
address:
type: string
location:
type: object
description: nullable object
properties:
longitude:
type: string
latitude:
type: string
elevation:
type: number
description: Elevation on the surface of the earth
height:
type: number
description: Height of the structure
contact:
type: object
properties:
name:
type: string
description: nullable string
phone:
type: string
description: nullable string
email:
type: string
description: nullable string
endpoints:
type: array
description: Endpoints are sites without endpoints
items:
$ref: '#/definitions/SiteIdentification'
Login:
type: object
properties:
password:
type: string
format: password
username:
type: string
sessionTimeout:
type: number
example: 3600000
description: >-
Token specific lifetime in miliseconds max to one week. Almost all api
calls (user explicit actions, without technicall refresh calls)
refresh token validity.
User:
type: object
properties:
id:
type: string
username:
type: string
email:
type: string
alerts:
type: boolean
totpAuthEnabled:
type: boolean
UserProfile:
type: object
properties:
presentationMode:
type: boolean
lastLogItemId:
type: string
userId:
type: string
forceChangePassword:
type: boolean
tableConfig:
type: object
preferences:
type: object
NmsSettings:
type: object
properties:
hostname:
type: string
useLetsEncrypt:
type: boolean
letsEncryptError:
type: string
letsEncryptTimestamp:
type: number
autoBackups:
type: boolean
maps:
type: object
properties:
provider:
type: string
enum:
- GoogleMaps
- OpenStreetMap
mapsApiKey:
type: string
description: nullable string
devicePingAddress:
type: string
devicePingIntervalNormal:
type: number
devicePingIntervalOutage:
type: number
NmsUpdateStatus:
type: object
properties:
canNmsUpdate:
type: boolean
nmsUpdateStatus:
type: string
enum:
- ready
- requested
- started
- updating
MailServer:
type: object
properties:
type:
type: string
enum:
- nosmtp
- cloud
- gmail
- smtp
gmailUsername:
type: string
gmailPassword:
type: string
customSmtpHostname:
type: string
customSmtpPort:
type: number
customSmtpSslEnabled:
type: boolean
customSmtpAuthEnabled:
type: boolean
customSmtpUsername:
type: string
customSmtpPassword:
type: string
customSmtpSender:
type: string
DeviceBackup:
type: object
properties:
id:
type: string
timestamp:
type: string
RouteOverview:
type: object
properties:
type:
type: string
description: >-
K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I -
ISIS, B - BGP
enum:
- KernelRoute
- Connected
- Static
- RIP
- OSPF
- ISIS
- BGP
enabled:
type: boolean
description: nullable; bool only for static routes
destination:
description: cidr
type: string
gateway:
description: ip address
type: string
gatewayStatus:
type: string
enum:
- reachable
- unreachable
interface:
description: 'interface name, for example eth0, eth1 etc.'
type: string
distance:
type: number
fib:
description: 'true if route type includes *, for example S>*'
type: boolean
selected:
description: 'true if route type includes >, for example S>*'
type: boolean
description:
type: string
StaticRoute:
type: object
properties:
type:
type: string
enum:
- interface
- blackhole
- gateway
destination:
description: cidr
type: string
gateway:
description: ip address / nullable string
type: string
interface:
description: 'interface name, for example eth0, eth1 etc. / nullable string'
type: string
distance:
description: 1 - 255
type: number
description:
type: string
description: nullable string
OSPFAuthorization:
type: string
description: 'off - Off, md5 - MD5/sec, plaintext-password - Plain text'
enum:
- 'off'
- md5
- plaintext-password
OSPFConfig:
type: object
properties:
router:
description: Override the default router ID (IPv4 address)
type: string
redistributeConnected:
type: object
properties:
enabled:
type: boolean
description: Is enabled
metric:
type: number
description: Optional number between 1 and 16
redistributeStatic:
type: object
properties:
enabled:
type: boolean
description: Is enabled
metric:
type: number
description: Optional number between 1 and 16
redistributeDefaultRoute:
type: object
properties:
enabled:
type: boolean
description: Is enabled
OSPFArea:
type: object
properties:
id:
description: OSPF area in decimal or dotted decimal notation (0.0.0.0)
type: string
type:
type: string
enum:
- normal
- nssa
- stub
auth:
$ref: '#/definitions/OSPFAuthorization'
networks:
type: array
items:
description: IPv4 network with prefix (192.0.2.0/24)
type: string
OSPFInterface:
type: object
properties:
auth:
$ref: '#/definitions/OSPFAuthorization'
authKey:
type: string
cost:
description: 1 - 65535
type: number
DiscoveryResult:
type: object
properties:
identification:
$ref: '#/definitions/DiscoveryResultIdentification'
devices:
type: array
items:
$ref: '#/definitions/DiscoveryDevice'
userId:
description: User UUID
type: string
status:
description: State of scanning
type: string
enum:
- InProgress
- Success
- Failed
- Canceled
error:
description: Error message
type: string
DiscoveryResultIdentification:
type: object
properties:
id:
description: UUID of the result
type: string
method:
type: string
description: Scan method - ip range or import
ipRange:
description: Ip range input - nullable string
type: string
DiscoveryDevice:
type: object
properties:
identification:
$ref: '#/definitions/DiscoveryDeviceIdentification'
ip:
description: IP address of the device
type: string
firmware:
description: Firmware version overview
type: object
properties:
current:
description: Current FW version
type: string
latest:
description: Latest available FW version
type: string
compatible:
description: True if version >= minimumVersion
type: boolean
connect:
type: object
properties:
status:
description: Status of the discovery process for given device
type: string
enum:
- Connected
- Ready
- Pending
- Unconnected
progress:
description: Connection progress
type: string
enum:
- Failed
- UpgradingFirmware
- SettingConnectionString
- Waiting
error:
description: Error that happened during connection attempt
type: string
flags:
description: If status is Unconnected these flags indicate the problem
type: object
properties:
canAuthenticate:
type: boolean
canConnect:
type: boolean
unsupportedDevice:
type: boolean
missingCredentials:
type: boolean
unsupportedFirmware:
type: boolean
error:
type: boolean
authentication:
type: object
properties:
status:
description: State of the authentication
type: string
enum:
- InProgress
- Success
- Failed
- Canceled
error:
description: Error message if available - nullable string
type: string
DiscoveryDeviceIdentification:
type: object
properties:
id:
type: string
description: UUID
firmwareVersion:
type: string
model:
type: string
description: value from models enum
name:
type: string
description: autogenerated
mac:
type: string
description: device mac address
type:
type: string
description: value from type enum
category:
type: string
description: value from category enum
siteId:
type: string
authorized:
type: boolean
description: device is added to nms
SshCredentials:
type: object
properties:
username:
type: string
password:
type: string
port:
description: 'nullable, default 22, in range 1 - 65535'
type: number
DeviceFirmware:
type: object
properties:
current:
description: Current firmware version
type: string
latest:
description: Latest known firmware version
type: string
semver:
type: object
properties:
major:
type: number
minor:
type: number
patch:
type: number
prerelease:
type: array
items:
type: string
LatestBackup:
type: object
description: Latest backup info
properties:
hash:
type: string
description: latest backup id
timestamp:
type: string
description: latest backup timestamp
DeviceUpgradeStatus:
type: object
properties:
status:
type: string
error:
type: string
changedAt:
type: number
description: unix timestamp in ms
expectedDuration:
type: number
description: duration in ms
firmware:
$ref: '#/definitions/Firmware'
FirmwareIdentification:
type: object
properties:
id:
description: 'Synthetic ID, combination of filename and origin'
type: string
version:
type: string
filename:
description: Name of the firmware image file
type: string
origin:
description: Firmware origin
type: string
enum:
- ubnt
- manual
- unms
platformId:
description: 'Firmware platformId, e.g. e50, e100 ...'
type: string
models:
description: Supported models
type: array
items:
type: string
FirmwareSemver:
type: object
properties:
major:
type: number
minor:
type: number
patch:
type: number
prerelease:
type: array
items:
type: string
Firmware:
type: object
properties:
identification:
$ref: '#/definitions/FirmwareIdentification'
semver:
$ref: '#/definitions/FirmwareSemver'
url:
description: Download url of the firmware image
type: string
size:
description: Size in bytes
type: integer
date:
description: Unix timestamp in miliseconds
type: number
Status:
type: object
properties:
result:
type: boolean
message:
type: string
Error:
type: object
properties:
error:
type: integer
format: int32
message:
type: string
statusCode:
type: string
Task:
type: object
properties:
id:
type: string
type:
type: string
enum:
- FW upgrade
- Mass FW upgrade
startTimestamp:
type: number
endTimestamp:
type: number
aggregatedTime:
type: number
status:
type: string
enum:
- success
- failed
- in-progress
- canceled
totalCount:
type: number
successCount:
type: number
taskItems:
type: array
items:
type: object
TwoFactorToken:
type: object
properties:
id:
type: string
userId:
type: string
sessionTimeout:
type: number
exp:
type: number
description: unix timestamp in milliseconds
TwoFactorSecret:
type: object
properties:
base32:
type: string
description: otp secret in base32 encoding
otpauth_url:
type: string
description: otp secret url for authenticator app
UnmsSettings:
type: object
properties:
overrideGlobal:
type: boolean
description: >-
If true during update of unms global settings this device settings
will not update if false yes
devicePingAddress:
type: string
description: Address for device to ping
devicePingIntervalNormal:
type: number
description: In miliseconds
devicePingIntervalOutage:
type: number
description: In miliseconds
deviceTransmissionProfile:
type: string
description: Transmission frequency with device
enum:
- minimal
- low
- medium
- high
- auto
NmsSummary:
type: object
properties:
devicesUnauthorizedCount:
type: number
description: Number of unauthorized devices
logsUnreadCount:
type: number
description: Number of unread logs since latest logs view
outagesUnreadCount:
type: number
description: Number of unread outages since latest logs view
Station:
type: object
properties:
timestamp:
type: number
description: unknown
ipAddress:
type: string
description: IP Address of the station
name:
type: string
description: Hostname of the station
vendor:
type: string
description: Producing company of the station
radio:
type: string
description: Radio frequency type
enum:
- 2.4GHz
- 5GHz
mac:
type: string
upTime:
type: number
description: unknown
latency:
type: number
description: Latency in milliseconds
distance:
type: number
description: Distance in meters
rxBytes:
type: number
description: Nullable property; Receieved Bytes
txBytes:
type: number
description: Nullable property; Transmitted Bytes
rxRate:
type: number
description: Nullable property; Current download speed in bps
txRate:
type: number
description: Nullable property; Current upload speed in bps
rxSignal:
type: number
description: >-
Nullable prop; current receiving signal level (only for airmax
devices), for example 55 dBm
txSignal:
type: number
description: >-
Nullable prop; current transmitting signal level (only for airmax
devices), for example 55 dBm
downlinkCapacity:
type: number
description: >-
Nullable prop; Calculated real possible download speed in bps (only
for airmax devices)
uplinkCapacity:
type: number
description: >-
Nullable prop; Calculated real possible upload speed in bps (only for
airmax devices)
WifiAuthenticationEnum:
type: object
properties:
PSK:
type: string
enum:
- psk
PSK2:
type: string
enum:
- psk2
Enterprise:
type: string
description: Enterprise
enum:
- ent
None:
type: string
enum:
- none
WifiSecurityEnum:
type: object
properties:
WEP:
type: string
enum:
- wep
WPA:
type: string
enum:
- wpa
WPA2:
type: string
enum:
- wpa2
None:
type: string
enum:
- none
WirelessModeEnum:
type: object
properties:
Ap:
type: string
enum:
- ap
ApPtp:
type: string
enum:
- ap-ptp
ApPtmp:
type: string
enum:
- ap-ptmp
ApPtmpAirmaxMixed:
type: string
enum:
- ap-ptmp-airmax-mixed
ApPtmpAirmaxAc:
type: string
enum:
- ap-ptmp-airmax-ac
Sta:
type: string
enum:
- sta
StaPtp:
type: string
enum:
- sta-ptp
StaPtmp:
type: string
enum:
- sta-ptmp
ApRep:
type: string
enum:
- aprepeater
Mesh:
type: string
enum:
- mesh
NetworkModeEnum:
type: object
properties:
Bridge:
type: string
enum:
- bridge
Router:
type: string
enum:
- router
AirCubeWirelessConfig:
type: object
properties:
authentication:
type: object
enum:
- $ref: '#/definitions/WifiAuthenticationEnum'
available:
type: boolean
channel:
type: number
country:
type: string
encryption:
type: object
enum:
- $ref: '#/definitions/WifiSecurityEnum'
frequency:
type: number
isChannelAuto:
type: boolean
isWPA2PSKEnabled:
type: boolean
key:
type: string
description: wireless password
mac:
type: string
mode:
type: object
enum:
- $ref: '#/definitions/WirelessModeEnum'
ssid:
type: string
txPower:
type: number
AirCubeNetworkConfig:
type: object
properties:
mode:
type: object
description: Network mode
enum:
- $ref: '#/definitions/NetworkModeEnum'
blockManagementAccess:
type: boolean
lan:
type: object
properties:
type:
type: object
description: 'Lan network mode, additional value'
enum:
- $ref: '#/definitions/NetworkModeEnum'
interfaceNames:
type: array
items:
type: string
gateway:
type: string
description: IPv4 gateway address
cidr:
type: string
description: CIDR LAN IP address (IPv4)
dns:
type: array
description: 'List of DNS addresses(primary[0], secondary[1])'
items:
type: string
dhcp:
type: object
properties:
ignore:
type: boolean
interface:
type: string
rangeStart:
description: IPv4 address to start assigning addresses from
type: string
rangeEnd:
description: IPv4 address to end assigning addresses from
type: string
leaseTime:
type: string
wan:
type: object
properties:
enabled:
type: boolean
interfaceNames:
type: array
items:
type: string
gateway:
type: string
description: IPv4 gateway address
cidr:
type: string
description: CIDR LAN IP address (IPv4)
dns:
type: array
description: 'List of DNS addresses(primary[0], secondary[1])'
items:
type: string
service:
description: PPPoE service name
type: string
username:
description: PPPoE username
type: string
password:
description: PPPoE password
type: string
AirCubeSystemConfig:
type: object
properties:
deviceName:
description: Device hostname
type: string
timezone:
description: 'OpenWrt timezone, e.g. ''CET-1CEST,M3.5.0,M10.5.0/3'''
type: string
zonename:
description: 'OpenWrt zonename, e.g. ''Europe/Prague'''
type: string
username:
type: string
newPassword:
type: string
ledNightMode:
type: object
properties:
enable:
type: boolean
start:
type: number
description: Time in minutes from beginning of the day to start night mode
end:
type: number
description: Time in minutes from beginning of the day to end night mode
poePassthrough:
type: boolean