Files
wlan-cloud-loadsim/api/portal-services-openapi.yaml
2021-02-04 12:03:33 -08:00

11269 lines
287 KiB
YAML

openapi: 3.0.3
info:
title: CloudSDK Portal API
description: APIs that provide services for provisioning, monitoring, and history retrieval of various data elements of CloudSDK.
version: 1.0.0
servers:
- url: https://localhost:9091
description: Local Dev server
- url: https://192.168.0.143:9091
description: Local Dev server - all-in-one
- url: https://192.168.0.143:4044
description: Local Dev server - all-in-one in docker
- url: https://192.168.0.143:9051
description: Local Dev server - portal, prov, and ssc
- url: https://192.168.0.143:7071
description: Local Dev server - opensync gateway
- url: https://wlan-portal-svc.tip.lab.connectus.ai
- url: https://wlan-portal-svc.zone3.lab.connectus.ai
tags:
- name: Data Model Overview
description: |
A Customer has Locations.
Locations can be arranged in a hierarchy of Country -> Site -> Building -> Floor.
Equipment (AccessPoints) can be bound to a customer and location.
Customer can have multiple Network Configurations (settings that can be attached to multiple equipment instances like SSIDs, radius server settings, etc.).
Each Equipment can be linked to only one Network Configuration.
Each Equipment also has an Element Configuration (radio settings that are not shared between equipment instances).
- name: Login
- name: Customer
description: |
Customer represents a single customer with many locations. All equipment is bound to the customer.
- name: Location
description: |
Locations can be arranged in a hierarchy of Country -> Site -> Building -> Floor. Equipment can be associated with a single location at any level in the location hierarchy.
- name: Equipment
description: |
Equipment (AccessPoints) can be bound to a customer and location.
- name: Equipment Gateway
description: |
Equipment can receive commands - to download firmware, blink LEDs, etc. These commands are delivered to the target equipment via the opensync gateway to which that equipment connects.
- name: Profile
description: |
Profiles for various services can be associated with equipment and with other profiles.
Each AccessPoint refers to at most one profile of type equipment_ap. Each ApNetworkConfiguration (equipment_ap) profile refers to 0-N SSID profiles via its childProfileIds property. Each SSID profile refers to at most 1 Captive Portal Profile and 1 Bonjour Gateway Profile and 1 RADIUS Service Profile via its childProfileIds property. Each Captive Portal Profile refers to at most 1 RADIUS Service Profile via its childProfileIds property.
- name: Status
description: |
Status for the network and individual equipment.
- name: Clients
description: |
Information about WLAN clients and sessions.
- name: Alarms
description: |
Alarms can be raised and cleared for equipment and customer.
- name: WLAN Service Metrics
description: |
Metrics specific to WLAN service can be created for equipment and customer.
- name: System Events
description: |
Various system events can be generated and persisted by the cloud services, including provisioning-related events when data model objects are created, updated, removed. Events are associated with equipment and customer.
- name: Portal Users
- name: Firmware Management
description: |
Firmware versions describe firmware binary files, which can be stored in CloudSDK file broker, or at any publically accessible URL.
Firmware tracks define upgrade maintenance window.
Firmware versions per equipment model are assigned to a firmware track.
There is one DEFAULT firmware track, and there can be many other firmware tracks, with different names.
A firmware track can be associated with a customer. If no such explicit customer association exist, then the DEFAULT track will be applied to the customer.
- name: Manufacturer OUI
description: |
Manufacturer records alow translation from OUI (first 3 pieces of the MAC address) into the manufacturer names.
- name: File Services
description: |
Simple filestore service that allows stand-alone CloudSDK to serve firmware images to the APs. Supports only single level directory. Files can be stored and retrieved with webtoken auth by the portal and with client certificate auth by the AP.
- name: Service Adoption Metrics
description: |
APIs to retrieve aggregated metrics for WiFi service adoption.
components:
securitySchemes:
tip_wlan_ts_auth:
type: http
scheme: bearer
responses:
GenericApiError:
description: this object is returned in the cases when an API throws an exception
content:
application/json:
schema:
$ref: '#/components/schemas/JsonSerializedException'
schemas:
#
# Generic data models used in many APIs
#
GenericResponse:
properties:
message:
type: string
success:
type: boolean
JsonSerializedException:
description: this object is returned in the cases when an API throws an exception
properties:
exType:
type: string
enum:
- IllegalStateException
error:
description: error message
type: string
path:
description: API path with parameters that produced the exception
type: string
timestamp:
description: time stamp of when the exception was generated
type: integer
format: int64
PairLongLong:
properties:
value1:
type: integer
format: int64
value2:
type: integer
format: int64
#
# Customer data models
#
Customer:
description: Customer object
type: object
required:
- id
- email
- name
- lastModifiedTimestamp
properties:
id:
type: integer
format: int32
email:
type: string
format: email
name:
type: string
details:
$ref: '#/components/schemas/CustomerDetails'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
CustomerDetails:
properties:
autoProvisioning:
$ref: '#/components/schemas/EquipmentAutoProvisioningSettings'
EquipmentAutoProvisioningSettings:
properties:
enabled:
type: boolean
locationId:
description: auto-provisioned equipment will appear under this location
type: integer
format: int64
equipmentProfileIdPerModel:
$ref: '#/components/schemas/LongValueMap'
#
# Location data models
#
Location:
type: object
properties:
id:
type: integer
format: int64
locationType:
type: string
enum:
- COUNTRY
- SITE
- BUILDING
- FLOOR
- UNSUPPORTED
customerId:
type: integer
format: int32
name:
type: string
parentId:
type: integer
format: int64
details:
$ref: '#/components/schemas/LocationDetails'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
example:
customerId: 2
locationType: COUNTRY
name: new location
CountryCode:
type: string
enum:
- usa
- ca
- integration
- UNSUPPORTED
ScheduleSetting:
oneOf:
- $ref: '#/components/schemas/DaysOfWeekTimeRangeSchedule'
- $ref: '#/components/schemas/DailyTimeRangeSchedule'
- $ref: '#/components/schemas/EmptySchedule'
discriminator:
propertyName: model_type
FirmwareScheduleSetting:
oneOf:
- $ref: '#/components/schemas/DailyTimeRangeSchedule'
- $ref: '#/components/schemas/EmptySchedule'
discriminator:
propertyName: model_type
example:
model_type: EmptySchedule
timezone: "US/Eastern"
LocationDetails:
type: object
properties:
model_type:
type: string
enum:
- LocationDetails
countryCode:
$ref: '#/components/schemas/CountryCode'
dailyActivityDetails:
$ref: '#/components/schemas/LocationActivityDetailsMap'
maintenanceWindow:
$ref: '#/components/schemas/DaysOfWeekTimeRangeSchedule'
rrmEnabled:
type: boolean
LocationActivityDetailsMap:
properties:
SUNDAY:
$ref: '#/components/schemas/LocationActivityDetails'
MONDAY:
$ref: '#/components/schemas/LocationActivityDetails'
TUESDAY:
$ref: '#/components/schemas/LocationActivityDetails'
WEDNESDAY:
$ref: '#/components/schemas/LocationActivityDetails'
THURSDAY:
$ref: '#/components/schemas/LocationActivityDetails'
FRIDAY:
$ref: '#/components/schemas/LocationActivityDetails'
SATURDAY:
$ref: '#/components/schemas/LocationActivityDetails'
LocationActivityDetails:
properties:
busyTime:
type: string
quietTime:
type: string
timezone:
type: string
lastBusySnapshot:
type: integer
format: int64
DaysOfWeekTimeRangeSchedule:
type: object
properties:
timezone:
type: string
timeBegin:
$ref: '#/components/schemas/LocalTimeValue'
timeEnd:
$ref: '#/components/schemas/LocalTimeValue'
daysOfWeek:
type: array
items:
$ref: '#/components/schemas/DayOfWeek'
LocalTimeValue:
type: object
properties:
hour:
type: integer
minute:
type: integer
DayOfWeek:
type: string
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
DailyTimeRangeSchedule:
type: object
properties:
timezone:
type: string
timeBegin:
$ref: '#/components/schemas/LocalTimeValue'
timeEnd:
$ref: '#/components/schemas/LocalTimeValue'
example:
model_type: DailyTimeRangeSchedule
timezone: "US/Eastern"
timeBegin:
hour: 22
minute: 01
timeEnd:
hour: 22
minute: 30
EmptySchedule:
description: This schedule setting will never return any TimeWindows.
type: object
properties:
timezone:
type: string
example:
model_type: EmptySchedule
timezone: "US/Eastern"
#
# Equipment data models
#
EquipmentType:
type: string
enum:
- AP
- SWITCH
Equipment:
type: object
properties:
id:
type: integer
format: int64
equipmentType:
$ref: '#/components/schemas/EquipmentType'
inventoryId:
type: string
customerId:
type: integer
format: int32
profileId:
type: integer
format: int64
name:
type: string
locationId:
type: integer
format: int64
details:
$ref: '#/components/schemas/EquipmentDetails'
latitude:
type: string
longitude:
type: string
serial:
type: string
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
example:
equipmentType: AP
customerId: 2
profileId: 1
locationId: 2
inventoryId: example_ap
serial: example_serial
name: example AP
#
# Equipment bulk update data models
#
EquipmentRrmBulkUpdateRequest:
properties:
items:
type: array
items:
$ref: '#/components/schemas/EquipmentRrmBulkUpdateItem'
EquipmentRrmBulkUpdateItem:
properties:
equipmentId:
type: integer
format: int64
perRadioDetails:
$ref: '#/components/schemas/EquipmentRrmBulkUpdateItemPerRadioMap'
EquipmentRrmBulkUpdateItemPerRadioMap:
properties:
is5GHz:
$ref: '#/components/schemas/RrmBulkUpdateApDetails'
is5GHzU:
$ref: '#/components/schemas/RrmBulkUpdateApDetails'
is5GHzL:
$ref: '#/components/schemas/RrmBulkUpdateApDetails'
is2dot4GHz:
$ref: '#/components/schemas/RrmBulkUpdateApDetails'
RrmBulkUpdateApDetails:
properties:
channelNumber:
# mapped to equipment->details->radioMap->channelNumber
type: integer
format: int32
rxCellSizeDb:
# equipment->details->radioMap->rxCellSizeDb->value
$ref: '#/components/schemas/AutoOrManualValue'
probeResponseThresholdDb:
#equipment->details->radioMap->probeResponseThresholdDb->value
$ref: '#/components/schemas/AutoOrManualValue'
clientDisconnectThresholdDb:
#equipment->details->radioMap->clientDisconnectThresholdDb->value
$ref: '#/components/schemas/AutoOrManualValue'
dropInSnrPercentage:
#equipment->details->radioMap->bestApSettings->dropInSnrPercentage
type: integer
format: int32
minLoadFactor:
#equipment->details->radioMap->bestApSettings->minLoadFactor
type: integer
format: int32
#
# Equipment configuration data models
#
EquipmentDetails:
description: Place to put extended equipment properties.
type: object
properties:
equipmentModel:
type: string
oneOf:
## TODO: add other equipment types in here
- $ref: '#/components/schemas/ApElementConfiguration'
discriminator:
propertyName: model_type
ActiveScanSettings:
type: object
properties:
enabled:
type: boolean
scanFrequencySeconds:
type: integer
format: int32
scanDurationMillis:
type: integer
format: int32
AntennaType:
type: string
enum:
- OMNI
- OAP30_DIRECTIONAL
DeviceMode:
type: string
enum:
- standaloneAP
- managedAP
- gatewaywithAP
- gatewayOnly
DeploymentType:
type: string
enum:
- DESK
- CEILING
NetworkForwardMode:
type: string
enum:
- BRIDGE
- NAT
ApElementConfiguration:
type: object
properties:
elementConfigVersion:
type: string
equipmentType:
$ref: '#/components/schemas/EquipmentType'
deviceMode:
$ref: '#/components/schemas/DeviceMode'
gettingIP:
type: string
enum:
- dhcp
- manual
staticIP:
type: string
staticIpMaskCidr:
type: integer
staticIpGw:
type: string
gettingDNS:
type: string
enum:
- dhcp
- manual
staticDnsIp1:
type: string
staticDnsIp2:
type: string
peerInfoList:
type: array
items:
$ref: '#/components/schemas/PeerInfo'
deviceName:
type: string
locationData:
type: string
locallyConfiguredMgmtVlan:
type: integer
format: int32
locallyConfigured:
type: boolean
deploymentType:
$ref: '#/components/schemas/DeploymentType'
syntheticClientEnabled:
type: boolean
frameReportThrottleEnabled:
type: boolean
antennaType:
$ref: '#/components/schemas/AntennaType'
costSavingEventsEnabled:
type: boolean
forwardMode:
$ref: '#/components/schemas/NetworkForwardMode'
radioMap:
$ref: '#/components/schemas/RadioMap'
advancedRadioMap:
$ref: '#/components/schemas/AdvancedRadioMap'
TunnelIndicator:
type: string
enum:
- no
- primary
- secondary
PeerInfo:
properties:
peerMAC:
type: array
items:
type: integer
format: byte
minItems: 6
maxItems: 6
peerIP:
type: string
tunnel:
$ref: '#/components/schemas/TunnelIndicator'
vlans:
type: array
items:
type: integer
format: byte
radiusSecret:
type: string
RadioMap:
properties:
is5GHz:
$ref: '#/components/schemas/ElementRadioConfiguration'
is5GHzU:
$ref: '#/components/schemas/ElementRadioConfiguration'
is5GHzL:
$ref: '#/components/schemas/ElementRadioConfiguration'
is2dot4GHz:
$ref: '#/components/schemas/ElementRadioConfiguration'
ChannelBandwidth:
description: On 2.4GHz radio only auto or is20MHz values can be used. On 5GHz radio all values can be used.
type: string
enum:
- auto
- is20MHz
- is40MHz
- is80MHz
- is160MHz
RadioType:
type: string
enum:
- is5GHz
- is2dot4GHz
- is5GHzU
- is5GHzL
BannedChannel:
type: object
properties:
channelNumber:
type: integer
format: int32
bannedOnEpoc:
type: integer
format: int64
AutoOrManualValue:
type: object
properties:
auto:
type: boolean
value:
type: integer
format: int32
AutoOrManualString:
type: object
properties:
auto:
type: boolean
value:
type: string
BestAPSteerType:
type: string
enum:
- both
- loadBalanceOnly
- linkQualityOnly
ChannelPowerLevel:
type: object
properties:
channelNumber:
type: integer
format: int32
powerLevel:
type: integer
format: int32
dfs:
type: boolean
channelWidth:
description: Value is in MHz, -1 means AUTO
type: integer
format: int32
NeighbouringAPListConfiguration:
type: object
properties:
minSignal:
type: integer
format: int32
maxAps:
type: integer
format: int32
ElementRadioConfiguration:
properties:
radioType:
$ref: '#/components/schemas/RadioType'
channelNumber:
description: The channel that was picked through the cloud's assigment
type: integer
format: int32
manualChannelNumber:
description: The channel that was manually entered
type: integer
format: int32
backupChannelNumber:
description: Backup channel (this is never set by the customer - it's deduced from the primary channel (either manual or auto)
type: integer
format: int32
autoChannelSelection:
type: boolean
channelBandwidth:
$ref: '#/components/schemas/ChannelBandwidth'
bannedChannels:
type: array
items:
$ref: '#/components/schemas/BannedChannel'
allowedChannels:
description: "allowedChannels (Not set by the customer: provided by AP on connection based on regulatory limits by country)"
type: array
items:
type: integer
format: int32
rxCellSizeDb:
$ref: '#/components/schemas/AutoOrManualValue'
probeResponseThresholdDb:
$ref: '#/components/schemas/AutoOrManualValue'
clientDisconnectThresholdDb:
$ref: '#/components/schemas/AutoOrManualValue'
eirpTxPower:
$ref: '#/components/schemas/AutoOrManualValue'
bestApEnabled:
type: boolean
neighbouringListApConfig:
$ref: '#/components/schemas/NeighbouringAPListConfiguration'
minAutoCellSize:
type: integer
format: int32
perimeterDetectionEnabled:
type: boolean
bestAPSteerType:
$ref: '#/components/schemas/BestAPSteerType'
deauthAttackDetection:
type: boolean
allowedChannelsPowerLevels:
$ref: '#/components/schemas/ChannelPowerLevel'
AdvancedRadioMap:
properties:
is5GHz:
$ref: '#/components/schemas/RadioConfiguration'
is5GHzU:
$ref: '#/components/schemas/RadioConfiguration'
is5GHzL:
$ref: '#/components/schemas/RadioConfiguration'
is2dot4GHz:
$ref: '#/components/schemas/RadioConfiguration'
StateSetting:
type: string
enum:
- enabled
- disabled
ManagementRate:
type: string
enum:
- auto
- rate1mbps
- rate2mbps
- rate5dot5mbps
- rate6mbps
- rate9mbps
- rate11mbps
- rate12mbps
- rate18mbps
- rate24mbps
MulticastRate:
type: string
enum:
- auto
- rate6mbps
- rate9mbps
- rate12mbps
- rate18mbps
- rate24mbps
- rate36mbps
- rate48mbps
- rate54mbps
RadioMode:
type: string
enum:
- modeN
- modeAC
- modeGN
MimoMode:
type: string
enum:
- none
- oneByOne
- twoByTwo
- threeByThree
- fourByFour
RadioConfiguration:
properties:
radioType:
$ref: '#/components/schemas/RadioType'
radioAdminState:
$ref: '#/components/schemas/StateSetting'
fragmentationThresholdBytes:
type: integer
format: int32
rtsCtsThreshold:
type: integer
format: int32
autoChannelSelection:
$ref: '#/components/schemas/StateSetting'
radioMode:
$ref: '#/components/schemas/RadioMode'
mimoMode:
$ref: '#/components/schemas/MimoMode'
wmmState:
$ref: '#/components/schemas/StateSetting'
uapsdState:
$ref: '#/components/schemas/StateSetting'
maxNumClients:
type: integer
format: int32
stationIsolation:
$ref: '#/components/schemas/StateSetting'
multicastRate:
$ref: '#/components/schemas/MulticastRate'
managementRate:
$ref: '#/components/schemas/ManagementRate'
activeScanSettings:
$ref: '#/components/schemas/ActiveScanSettings'
channelHopSettings:
$ref: '#/components/schemas/ChannelHopSettings'
bestApSettings:
$ref: '#/components/schemas/RadioBestApSettings'
forceScanDuringVoice:
$ref: '#/components/schemas/StateSetting'
legacyBSSRate:
$ref: '#/components/schemas/StateSetting'
beaconInterval:
type: integer
format: int32
deauthAttackDetection:
type: boolean
ObssHopMode:
type: string
enum:
- NON_WIFI
- NON_WIFI_AND_OBSS
default: NON_WIFI
RadioBestApSettings:
description: If mlComputed=true, then dropInSnrPercentage and minLoadFactor properties are populated by ML algorithms. If mlComputed=false, then those values are supposed to be populated by hand (ML-computed ones will be ignored).
type: object
properties:
mlComputed:
type: boolean
default: true
dropInSnrPercentage:
type: integer
format: int32
default: 10
minLoadFactor:
type: integer
format: int32
default: 10
ChannelHopSettings:
description: If noise floor (avg over 4 measurements, measurement interval being 1 sec.) is above -75 dB for more than 3 minutes OR
If Non WiFi utilization is more than 50% for more than 3 minutes channel will be changed.
type: object
properties:
noiseFloorThresholdInDB:
type: integer
format: int32
default: -75
noiseFloorThresholdTimeInSeconds:
type: integer
format: int32
default: 180
nonWifiThresholdInPercentage:
type: integer
format: int32
default: 50
nonWifiThresholdTimeInSeconds:
type: integer
format: int32
default: 180
obssHopMode:
$ref: '#/components/schemas/ObssHopMode'
#
# Service Profile data models
#
ProfileType:
type: string
enum:
- equipment_ap
- equipment_switch
- ssid
- bonjour
- radius
- captive_portal
- mesh
Profile:
description: Each AccessPoint refers to at most one profile of type equipment_ap. Each ApNetworkConfiguration (equipment_ap) profile refers to 0-N SSID profiles via its childProfileIds property. Each SSID profile refers to at most 1 Captive Portal Profile and 1 Bonjour Gateway Profile and 1 RADIUS Service Profile via its childProfileIds property. Each Captive Portal Profile refers to at most 1 RADIUS Service Profile via its childProfileIds property.
type: object
properties:
id:
type: integer
format: int64
profileType:
$ref: '#/components/schemas/ProfileType'
customerId:
type: integer
format: int32
name:
type: string
childProfileIds:
type: array
items:
type: integer
format: int64
details:
$ref: '#/components/schemas/ProfileDetailsChildren'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
example:
profileType: equipment_ap
customerId: 2
name: example AP profile
ProfileDetails:
description: Place to put extended profile properties specific to each type of the profile.
type: object
discriminator:
propertyName: model_type
properties:
model_type:
type: string
enum:
- BonjourGatewayProfile
- CaptivePortalConfiguration
- ApNetworkConfiguration
- MeshGroup
- RadiusProfile
- SsidConfiguration
required:
- model_type
ProfileDetailsChildren:
oneOf:
- $ref: '#/components/schemas/BonjourGatewayProfile'
- $ref: '#/components/schemas/CaptivePortalConfiguration'
- $ref: '#/components/schemas/ApNetworkConfiguration'
- $ref: '#/components/schemas/MeshGroup'
- $ref: '#/components/schemas/RadiusProfile'
- $ref: '#/components/schemas/SsidConfiguration'
discriminator:
propertyName: model_type
BonjourGatewayProfile:
description: Properties for the Bonjour Gateway profile.
allOf:
- $ref: '#/components/schemas/ProfileDetails'
- type: object
properties:
model_type:
type: string
enum:
- BonjourGatewayProfile
profileDescription:
type: string
bonjourServices:
type: array
items:
$ref: '#/components/schemas/BonjourServiceSet'
BonjourServiceSet:
type: object
properties:
vlanId:
type: integer
format: int16
supportAllServices:
type: boolean
serviceNames:
type: array
items:
type: string
CaptivePortalConfiguration:
description: Properties for the Captive Portal Service profile.
allOf:
- $ref: '#/components/schemas/ProfileDetails'
- type: object
properties:
model_type:
type: string
enum:
- CaptivePortalConfiguration
browserTitle:
type: string
headerContent:
type: string
userAcceptancePolicy:
type: string
successPageMarkdownText:
type: string
redirectURL:
type: string
externalCaptivePortalURL:
type: string
sessionTimeoutInMinutes:
type: integer
format: int32
logoFile:
$ref: '#/components/schemas/ManagedFileInfo'
backgroundFile:
$ref: '#/components/schemas/ManagedFileInfo'
walledGardenAllowlist:
type: array
items:
type: string
usernamePasswordFile:
$ref: '#/components/schemas/ManagedFileInfo'
authenticationType:
$ref: '#/components/schemas/CaptivePortalAuthenticationType'
radiusAuthMethod:
$ref: '#/components/schemas/RadiusAuthenticationMethod'
maxUsersWithSameCredentials:
type: integer
format: int32
externalPolicyFile:
$ref: '#/components/schemas/ManagedFileInfo'
backgroundPosition:
$ref: '#/components/schemas/BackgroundPosition'
backgroundRepeat:
$ref: '#/components/schemas/BackgroundRepeat'
radiusServiceName:
type: string
expiryType:
$ref: '#/components/schemas/SessionExpiryType'
userList:
type: array
items:
$ref: '#/components/schemas/TimedAccessUserRecord'
macAllowList:
type: array
items:
$ref: '#/components/schemas/MacAllowlistRecord'
ManagedFileInfo:
type: object
properties:
md5checksum:
type: array
items:
type: integer
format: byte
lastModifiedTimestamp:
type: integer
format: int64
apExportUrl:
type: string
fileCategory:
$ref: '#/components/schemas/FileCategory'
fileType:
$ref: '#/components/schemas/FileType'
altSlot:
type: boolean
FileCategory:
type: string
enum:
- CaptivePortalLogo
- CaptivePortalBackground
- ExternalPolicyConfiguration
- UsernamePasswordList
- DeviceMacBlockList
- DoNotSteerClientList
FileType:
type: string
enum:
- PNG
- JPG
- PROTOBUF
CaptivePortalAuthenticationType:
type: string
enum:
- guest
- username
- radius
- external
RadiusAuthenticationMethod:
type: string
enum:
- PAP
- CHAP
- MSCHAPv2
BackgroundPosition:
type: string
enum:
- left_top
- left_center
- left_bottom
- right_top
- right_center
- right_bottom
- center_top
- center_center
- center_bottom
BackgroundRepeat:
type: string
enum:
- repeat_x
- repeat_y
- repeat
- space
- round
- no_repeat
- cover
SessionExpiryType:
type: string
enum:
- time_limited
- unlimited
TimedAccessUserRecord:
type: object
properties:
username:
type: string
password:
type: string
activationTime:
type: integer
format: int64
expirationTime:
type: integer
format: int64
numDevices:
type: integer
format: int32
userDetails:
$ref: '#/components/schemas/TimedAccessUserDetails'
userMacAddresses:
type: array
items:
$ref: '#/components/schemas/MacAddress'
lastModifiedTimestamp:
type: integer
format: int64
TimedAccessUserDetails:
type: object
properties:
firstName:
type: string
lastName:
type: string
passwordNeedsReset:
type: boolean
MacAddress:
type: object
properties:
model_type:
type: string
enum:
- MacAddress
addressAsString:
type: string
MacAllowlistRecord:
type: object
properties:
macAddress:
$ref: '#/components/schemas/MacAddress'
notes:
type: string
lastModifiedTimestamp:
type: integer
format: int64
ApNetworkConfiguration:
description: Properties for the AP Network Configuration profile.
allOf:
- $ref: '#/components/schemas/ProfileDetails'
- type: object
properties:
model_type:
type: string
enum:
- ApNetworkConfiguration
networkConfigVersion:
type: string
enum:
- AP-1
equipmentType:
type: string
enum:
- AP
vlanNative:
type: boolean
vlan:
type: integer
format: int32
ntpServer:
$ref: '#/components/schemas/AutoOrManualString'
syslogRelay:
$ref: '#/components/schemas/SyslogRelay'
rtlsSettings:
$ref: '#/components/schemas/RtlsSettings'
syntheticClientEnabled:
type: boolean
ledControlEnabled:
type: boolean
equipmentDiscovery:
type: boolean
radioMap:
$ref: '#/components/schemas/RadioProfileConfigurationMap'
RadioProfileConfigurationMap:
properties:
is5GHz:
$ref: '#/components/schemas/RadioProfileConfiguration'
is5GHzU:
$ref: '#/components/schemas/RadioProfileConfiguration'
is5GHzL:
$ref: '#/components/schemas/RadioProfileConfiguration'
is2dot4GHz:
$ref: '#/components/schemas/RadioProfileConfiguration'
RadioProfileConfiguration:
properties:
bestApEnabled:
type: boolean
bestAPSteerType:
$ref: '#/components/schemas/BestAPSteerType'
SyslogRelay:
type: object
properties:
enabled:
type: boolean
srvHostIp:
type: string
srvHostPort:
type: integer
format: int32
severity:
$ref: '#/components/schemas/SyslogSeverityType'
SyslogSeverityType:
type: string
enum:
- EMERG
- ALERT
- CRIT
- ERR
- WARING
- NOTICE
- INFO
- DEBUG
RtlsSettings:
type: object
properties:
enabled:
type: boolean
srvHostIp:
type: string
srvHostPort:
type: integer
format: int32
MeshGroup:
description: Properties for the Mesh Group profile.
allOf:
- $ref: '#/components/schemas/ProfileDetails'
- type: object
properties:
model_type:
type: string
enum:
- MeshGroup
property:
$ref: '#/components/schemas/MeshGroupProperty'
members:
type: array
items:
$ref: '#/components/schemas/MeshGroupMember'
MeshGroupProperty:
properties:
name:
type: string
locationId:
type: integer
format: int64
ethernetProtection:
type: boolean
MeshGroupMember:
properties:
mashMode:
$ref: '#/components/schemas/ApMeshMode'
equipmentId:
type: integer
format: int64
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
type: integer
format: int64
ApMeshMode:
description: STANDALONE = no mesh. MESH_PORTAL = Wired AP, accepting wireless connections from MESH_POINTs. MESH_POINT = Extender AP. connects to MESH_PORTAL.
type: string
enum:
- STANDALONE
- MESH_PORTAL
- MESH_POINT
RadiusProfile:
description: Properties for the RADIUS profile.
allOf:
- $ref: '#/components/schemas/ProfileDetails'
- type: object
properties:
model_type:
type: string
enum:
- RadiusProfile
subnetConfiguration:
$ref: '#/components/schemas/RadiusSubnetConfigurationMap'
serviceRegionMap:
$ref: '#/components/schemas/RadiusServiceRegionMap'
RadiusSubnetConfigurationMap:
description: Map of subnet configurations. Key is the subnet name, value is the actual configuration.
type: object
additionalProperties:
$ref: '#/components/schemas/RadiusSubnetConfiguration'
RadiusServiceRegionMap:
description: Map of Radius Service Regions, keyed by Region Name
type: object
additionalProperties:
$ref: '#/components/schemas/RadiusServiceRegion'
RadiusSubnetConfiguration:
properties:
serviceRegionName:
type: string
subnetName:
type: string
proxyConfig:
$ref: '#/components/schemas/RadiusProxyConfiguration'
probeInterval:
description: Synthentic client probing internval (seconds). Use 0 or null for disable.
type: integer
format: int32
subnetAddress:
description: Subnet IpAddress
type: string
subnetCidrPrefix:
type: integer
format: int32
RadiusProxyConfiguration:
properties:
floatingIpAddress:
description: Proxy server floating IP address
type: string
floatingIfCidrPrefix:
description: Optional subnet CIDR prefix for floating IP address. Required if different floating IP address is outside of the the management subnet.
type: integer
format: int32
floatingIfGwAddress:
description: Optional Gateway IP Address for the floating IP interface
type: string
floatingIfVlan:
description: Optional VLAN id for the floating IP interface
type: integer
format: int32
sharedSecret:
description: Shared secret used to communicate with the proxy server
type: string
RadiusServiceRegion:
description: Region with the same set of Radius Service Configurations
properties:
regionName:
description: Named server mapping
type: string
default: Default
serverMap:
$ref: '#/components/schemas/RadiusServerMap'
RadiusServerMap:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/RadiusServer'
RadiusServer:
properties:
ipAddress:
type: string
secret:
type: string
authPort:
type: integer
format: int32
timeout:
type: integer
format: int32
SsidConfiguration:
description: Properties for the SSID Configuration profile.
allOf:
- $ref: '#/components/schemas/ProfileDetails'
- type: object
properties:
model_type:
type: string
enum:
- SsidConfiguration
ssid:
type: string
appliedRadios:
type: array
items:
$ref: '#/components/schemas/RadioType'
ssidAdminState:
$ref: '#/components/schemas/StateSetting'
secureMode:
$ref: '#/components/schemas/SsidSecureMode'
vlanId:
type: integer
format: int32
keyStr:
type: string
broadcastSsid:
$ref: '#/components/schemas/StateSetting'
keyRefresh:
type: integer
format: int32
default: 0
noLocalSubnets:
type: boolean
radiusServiceName:
type: string
captivePortalId:
description: id of a CaptivePortalConfiguration profile, must be also added to the children of this profile
type: integer
format: int64
bandwidthLimitDown:
type: integer
format: int64
bandwidthLimitUp:
type: integer
format: int64
clientBandwidthLimitDown:
type: integer
format: int64
clientBandwidthLimitUp:
type: integer
format: int64
videoTrafficOnly:
type: boolean
radioBasedConfigs:
$ref: '#/components/schemas/RadioBasedSsidConfigurationMap'
bonjourGatewayProfileId:
description: id of a BonjourGateway profile, must be also added to the children of this profile
type: integer
format: int64
enable80211w:
type: boolean
wepConfig:
$ref: '#/components/schemas/WepConfiguration'
forwardMode:
$ref: '#/components/schemas/NetworkForwardMode'
SsidSecureMode:
type: string
enum:
- open
- wpaPSK
- wpa2PSK
- wpaRadius
- wpa2Radius
- wpa2OnlyPSK
- wpa2OnlyRadius
- wep
RadioBasedSsidConfigurationMap:
properties:
is5GHz:
$ref: '#/components/schemas/RadioBasedSsidConfiguration'
is5GHzU:
$ref: '#/components/schemas/RadioBasedSsidConfiguration'
is5GHzL:
$ref: '#/components/schemas/RadioBasedSsidConfiguration'
is2dot4GHz:
$ref: '#/components/schemas/RadioBasedSsidConfiguration'
RadioBasedSsidConfiguration:
properties:
enable80211r:
type: boolean
enable80211k:
type: boolean
enable80211v:
type: boolean
WepConfiguration:
properties:
primaryTxKeyId:
type: integer
format: int32
wepKeys:
type: array
items:
$ref: '#/components/schemas/WepKey'
wepAuthType:
$ref: '#/components/schemas/WepAuthType'
WepAuthType:
type: string
enum:
- open
- shared
WepKey:
properties:
txKey:
type: string
txKeyConverted:
type: string
txKeyType:
$ref: '#/components/schemas/WepType'
WepType:
type: string
enum:
- wep64
- wep128
#
# Web Token data models
#
WebTokenRequest:
description: User Id and password.
type: object
required:
- userId
- password
properties:
userId:
type: string
default: support@example.com
password:
type: string
default: support
example:
userId: support@example.com
password: support
AclTemplate:
type: object
properties:
Read:
type: boolean
ReadWrite:
type: boolean
ReadWriteCreate:
type: boolean
Delete:
type: boolean
PortalLogin:
type: boolean
WebTokenAclTemplate:
type: object
properties:
aclTemplate:
$ref: '#/components/schemas/AclTemplate'
WebTokenResult:
description: Login and Refresh Tokens to be used in subsequent API calls.
type: object
properties:
access_token:
type: string
refresh_token:
type: string
token_type:
type: string
expires_in:
type: integer
format: int32
idle_timeout:
type: integer
format: int32
aclTemplate:
$ref: '#/components/schemas/WebTokenAclTemplate'
#
# Portal User data models
#
PortalUser:
type: object
properties:
id:
type: integer
format: int64
customerId:
type: integer
format: int32
username:
type: string
password:
type: string
role:
$ref: '#/components/schemas/PortalUserRole'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
example:
customerId: 2
username: new_user
password: pwd
role: CustomerIT
PortalUserRole:
type: string
enum:
- SuperUser
- CustomerIT
#
# Status data models
#
StatusDataType:
type: string
enum:
- EQUIPMENT_ADMIN
- NETWORK_ADMIN
- NETWORK_AGGREGATE
- PROTOCOL
- FIRMWARE
- PEERINFO
- LANINFO
- NEIGHBOURINGINFO
- OS_PERFORMANCE
- NEIGHBOUR_SCAN
- RADIO_UTILIZATION
- ACTIVE_BSSIDS
- CLIENT_DETAILS
- CUSTOMER_DASHBOARD
Status:
type: object
properties:
model_type:
type: string
enum:
- Status
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
statusDataType:
$ref: '#/components/schemas/StatusDataType'
statusDetails:
$ref: '#/components/schemas/StatusDetails'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: This class does not perform checks against concurrrent updates. Here last update always wins.
type: integer
format: int64
StatusDetails:
oneOf:
- $ref: '#/components/schemas/ActiveBSSIDs'
- $ref: '#/components/schemas/ClientConnectionDetails'
- $ref: '#/components/schemas/EquipmentAdminStatusData'
- $ref: '#/components/schemas/EquipmentLANStatusData'
- $ref: '#/components/schemas/EquipmentNeighbouringStatusData'
- $ref: '#/components/schemas/EquipmentPeerStatusData'
- $ref: '#/components/schemas/EquipmentProtocolStatusData'
- $ref: '#/components/schemas/EquipmentScanDetails'
- $ref: '#/components/schemas/EquipmentUpgradeStatusData'
- $ref: '#/components/schemas/NetworkAdminStatusData'
- $ref: '#/components/schemas/NetworkAggregateStatusData'
- $ref: '#/components/schemas/OperatingSystemPerformance'
- $ref: '#/components/schemas/RadioUtilizationReport'
- $ref: '#/components/schemas/CustomerPortalDashboardStatus'
discriminator:
propertyName: model_type
CustomerPortalDashboardStatus:
properties:
model_type:
type: string
enum:
- CustomerPortalDashboardStatus
statusDataType:
type: string
enum:
- CUSTOMER_DASHBOARD
timeBucketId:
description: All metrics/events that have (createdTimestamp % timeBucketMs == timeBucketId) are counted in this object.
type: integer
format: int64
timeBucketMs:
description: Length of the time bucket in milliseconds
type: integer
format: int64
equipmentInServiceCount:
type: integer
format: int32
equipmentWithClientsCount:
type: integer
format: int32
totalProvisionedEquipment:
type: integer
format: int32
trafficBytesDownstream:
type: integer
format: int64
trafficBytesUpstream:
type: integer
format: int64
associatedClientsCountPerRadio:
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
clientCountPerOui:
$ref: '#/components/schemas/IntegerValueMap'
equipmentCountPerOui:
$ref: '#/components/schemas/IntegerValueMap'
ActiveBSSIDs:
type: object
properties:
model_type:
type: string
enum:
- ActiveBSSIDs
statusDataType:
type: string
enum:
- ACTIVE_BSSIDS
activeBSSIDs:
type: array
items:
$ref: '#/components/schemas/ActiveBSSID'
ActiveBSSID:
type: object
properties:
model_type:
type: string
enum:
- ActiveBSSID
bssid:
type: string
ssid:
type: string
radioType:
$ref: '#/components/schemas/RadioType'
numDevicesConnected:
type: integer
format: int32
ClientConnectionDetails:
type: object
properties:
model_type:
type: string
enum:
- ClientConnectionDetails
statusDataType:
type: string
enum:
- CLIENT_DETAILS
numClientsPerRadio:
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
IntegerPerRadioTypeMap:
properties:
is5GHz:
type: integer
format: int32
is5GHzU:
type: integer
format: int32
is5GHzL:
type: integer
format: int32
is2dot4GHz:
type: integer
format: int32
LongPerRadioTypeMap:
properties:
is5GHz:
type: integer
format: int64
is5GHzU:
type: integer
format: int64
is5GHzL:
type: integer
format: int64
is2dot4GHz:
type: integer
format: int64
EquipmentAdminStatusData:
type: object
properties:
model_type:
type: string
enum:
- EquipmentAdminStatusData
statusDataType:
type: string
enum:
- EQUIPMENT_ADMIN
statusCode:
$ref: '#/components/schemas/StatusCode'
statusMessage:
type: string
StatusCode:
type: string
enum:
- normal
- requiresAttention
- error
- disabled
EquipmentLANStatusData:
type: object
properties:
model_type:
type: string
enum:
- EquipmentLANStatusData
statusDataType:
type: string
enum:
- LANINFO
vlanStatusDataMap:
$ref: '#/components/schemas/VLANStatusDataMap'
VLANStatusDataMap:
type: object
additionalProperties:
$ref: '#/components/schemas/VLANStatusData'
VLANStatusData:
type: object
properties:
ipBase:
type: string
subnetMask:
type: string
gateway:
type: string
dhcpServer:
type: string
dnsServer1:
type: string
dnsServer2:
type: string
dnsServer3:
type: string
EquipmentNeighbouringStatusData:
description: TODO - either describe the properties of this object or remove it.
type: object
properties:
model_type:
type: string
enum:
- EquipmentNeighbouringStatusData
statusDataType:
type: string
enum:
- NEIGHBOURINGINFO
EquipmentPeerStatusData:
description: TODO - either describe the properties of this object or remove it.
type: object
properties:
model_type:
type: string
enum:
- EquipmentPeerStatusData
statusDataType:
type: string
enum:
- PEERINFO
EquipmentProtocolStatusData:
type: object
properties:
model_type:
type: string
enum:
- EquipmentProtocolStatusData
statusDataType:
type: string
enum:
- PROTOCOL
poweredOn:
type: boolean
protocolState:
$ref: '#/components/schemas/EquipmentProtocolState'
reportedHwVersion:
type: string
reportedSwVersion:
type: string
reportedSwAltVersion:
type: string
cloudProtocolVersion:
type: string
reportedIpV4Addr:
type: string
reportedIpV6Addr:
type: string
reportedMacAddr:
$ref: '#/components/schemas/MacAddress'
countryCode:
type: string
systemName:
type: string
systemContact:
type: string
systemLocation:
type: string
bandPlan:
type: string
serialNumber:
type: string
baseMacAddress:
$ref: '#/components/schemas/MacAddress'
reportedApcAddress:
type: string
lastApcUpdate:
type: integer
format: int64
isApcConnected:
type: boolean
ipBasedConfiguration:
type: string
reportedSku:
type: string
reportedCC:
$ref: '#/components/schemas/CountryCode'
radiusProxyAddress:
type: string
reportedCfgDataVersion:
type: integer
format: int64
cloudCfgDataVersion:
type: integer
format: int64
EquipmentProtocolState:
type: string
enum:
- init
- joined
- configuration_received
- ready
- error_when_joining
- error_processing_configuration
EquipmentScanDetails:
description: TODO - document it or remove it
type: object
properties:
model_type:
type: string
enum:
- EquipmentScanDetails
statusDataType:
type: string
enum:
- NEIGHBOUR_SCAN
EquipmentUpgradeStatusData:
type: object
properties:
model_type:
type: string
enum:
- EquipmentUpgradeStatusData
statusDataType:
type: string
enum:
- FIRMWARE
activeSwVersion:
type: string
alternateSwVersion:
type: string
targetSwVersion:
type: string
retries:
type: integer
format: int32
upgradeState:
$ref: '#/components/schemas/EquipmentUpgradeState'
reason:
$ref: '#/components/schemas/EquipmentUpgradeFailureReason'
upgradeStartTime:
type: integer
format: int64
switchBank:
type: boolean
EquipmentUpgradeState:
type: string
enum:
- undefined
- download_initiated
- downloading
- download_failed
#firmware downloaded into reserve area but not flashed to bank
- download_complete
- apply_initiated
- applying
- apply_failed
- apply_complete
- reboot_initiated
- rebooting
- out_of_date
- up_to_date
- reboot_failed
EquipmentUpgradeFailureReason:
type: string
enum:
- downloadRequestRejected
- validationFailed
- unreachableUrl
- downloadFailed
- applyRequestRejected
- applyFailed
- rebootRequestRejected
- invalidVersion
- rebootWithWrongVersion
- maxRetries
- rebootTimedout
- downloadRequestFailedFlashFull
NetworkAdminStatusData:
type: object
properties:
model_type:
type: string
enum:
- NetworkAdminStatusData
statusDataType:
type: string
enum:
- NETWORK_ADMIN
dhcpStatus:
$ref: '#/components/schemas/StatusCode'
dnsStatus:
$ref: '#/components/schemas/StatusCode'
cloudLinkStatus:
$ref: '#/components/schemas/StatusCode'
radiusStatus:
$ref: '#/components/schemas/StatusCode'
averageCoveragePerRadio:
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
equipmentCountsBySeverity:
$ref: '#/components/schemas/IntegerStatusCodeMap'
IntegerStatusCodeMap:
type: object
properties:
normal:
type: integer
format: int32
requiresAttention:
type: integer
format: int32
error:
type: integer
format: int32
disabled:
type: integer
format: int32
MinMaxAvgValueInt:
type: object
properties:
minValue:
type: integer
format: int32
maxValue:
type: integer
format: int32
avgValue:
type: integer
format: int32
CommonProbeDetails:
type: object
properties:
latencyMs:
$ref: '#/components/schemas/MinMaxAvgValueInt'
numSuccessProbeRequests:
type: integer
format: int32
numFailedProbeRequests:
type: integer
format: int32
status:
$ref: '#/components/schemas/StatusCode'
NetworkAggregateStatusData:
type: object
properties:
model_type:
type: string
enum:
- NetworkAggregateStatusData
statusDataType:
type: string
enum:
- NETWORK_AGGREGATE
dhcpDetails:
$ref: '#/components/schemas/CommonProbeDetails'
dnsDetails:
$ref: '#/components/schemas/CommonProbeDetails'
cloudLinkDetails:
$ref: '#/components/schemas/CommonProbeDetails'
noiseFloorDetails:
$ref: '#/components/schemas/NoiseFloorDetails'
channelUtilizationDetails:
$ref: '#/components/schemas/ChannelUtilizationDetails'
radioUtilizationDetails:
$ref: '#/components/schemas/RadioUtilizationDetails'
userDetails:
$ref: '#/components/schemas/UserDetails'
trafficDetails:
$ref: '#/components/schemas/TrafficDetails'
radiusDetails:
$ref: '#/components/schemas/RadiusDetails'
equipmentPerformanceDetails:
$ref: '#/components/schemas/EquipmentPerformanceDetails'
capacityDetails:
$ref: '#/components/schemas/CapacityDetails'
numberOfReportingEquipment:
type: integer
format: int32
numberOfTotalEquipment:
type: integer
format: int32
beginGenerationTsMs:
type: integer
format: int64
endGenerationTsMs:
type: integer
format: int64
beginAggregationTsMs:
type: integer
format: int64
endAggregationTsMs:
type: integer
format: int64
numMetricsAggregated:
type: integer
format: int32
coverage:
type: integer
format: int32
behavior:
type: integer
format: int32
handoff:
type: integer
format: int32
wlanLatency:
type: integer
format: int32
NoiseFloorDetails:
type: object
properties:
perRadioDetails:
$ref: '#/components/schemas/NoiseFloorPerRadioDetailsMap'
indicatorValue:
type: integer
format: int32
NoiseFloorPerRadioDetailsMap:
properties:
is5GHz:
$ref: '#/components/schemas/NoiseFloorPerRadioDetails'
is5GHzU:
$ref: '#/components/schemas/NoiseFloorPerRadioDetails'
is5GHzL:
$ref: '#/components/schemas/NoiseFloorPerRadioDetails'
is2dot4GHz:
$ref: '#/components/schemas/NoiseFloorPerRadioDetails'
NoiseFloorPerRadioDetails:
properties:
noiseFloor:
$ref: '#/components/schemas/MinMaxAvgValueInt'
numGoodEquipment:
type: integer
format: int32
numWarnEquipment:
type: integer
format: int32
numBadEquipment:
type: integer
format: int32
ChannelUtilizationDetails:
type: object
properties:
perRadioDetails:
$ref: '#/components/schemas/ChannelUtilizationPerRadioDetailsMap'
indicatorValue:
type: integer
format: int32
ChannelUtilizationPerRadioDetailsMap:
properties:
is5GHz:
$ref: '#/components/schemas/ChannelUtilizationPerRadioDetails'
is5GHzU:
$ref: '#/components/schemas/ChannelUtilizationPerRadioDetails'
is5GHzL:
$ref: '#/components/schemas/ChannelUtilizationPerRadioDetails'
is2dot4GHz:
$ref: '#/components/schemas/ChannelUtilizationPerRadioDetails'
ChannelUtilizationPerRadioDetails:
properties:
channelUtilization:
$ref: '#/components/schemas/MinMaxAvgValueInt'
numGoodEquipment:
type: integer
format: int32
numWarnEquipment:
type: integer
format: int32
numBadEquipment:
type: integer
format: int32
RadioUtilizationDetails:
type: object
properties:
perRadioDetails:
$ref: '#/components/schemas/RadioUtilizationPerRadioDetailsMap'
RadioUtilizationPerRadioDetailsMap:
properties:
is5GHz:
$ref: '#/components/schemas/RadioUtilizationPerRadioDetails'
is5GHzU:
$ref: '#/components/schemas/RadioUtilizationPerRadioDetails'
is5GHzL:
$ref: '#/components/schemas/RadioUtilizationPerRadioDetails'
is2dot4GHz:
$ref: '#/components/schemas/RadioUtilizationPerRadioDetails'
RadioUtilizationPerRadioDetails:
properties:
avgAssocClientTx:
type: integer
format: int32
avgUnassocClientTx:
type: integer
format: int32
avgAssocClientRx:
type: integer
format: int32
avgUnassocClientRx:
type: integer
format: int32
avgNonWifi:
type: integer
format: int32
MinMaxAvgValueIntPerRadioMap:
properties:
is5GHz:
$ref: '#/components/schemas/MinMaxAvgValueInt'
is5GHzU:
$ref: '#/components/schemas/MinMaxAvgValueInt'
is5GHzL:
$ref: '#/components/schemas/MinMaxAvgValueInt'
is2dot4GHz:
$ref: '#/components/schemas/MinMaxAvgValueInt'
IntegerValueMap:
type: object
additionalProperties:
type: integer
LongValueMap:
type: object
additionalProperties:
type: integer
format: int64
UserDetails:
type: object
properties:
totalUsers:
$ref: '#/components/schemas/MinMaxAvgValueInt'
usersPerRadio:
$ref: '#/components/schemas/MinMaxAvgValueIntPerRadioMap'
numGoodEquipment:
type: integer
format: int32
numWarnEquipment:
type: integer
format: int32
numBadEquipment:
type: integer
format: int32
userDevicePerManufacturerCounts:
$ref: '#/components/schemas/IntegerValueMap'
totalApsReported:
type: integer
format: int32
indicatorValue:
type: integer
format: int32
indicatorValuePerRadio:
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
linkQualityPerRadio:
$ref: '#/components/schemas/LinkQualityAggregatedStatsPerRadioTypeMap'
clientActivityPerRadio:
$ref: '#/components/schemas/ClientActivityAggregatedStatsPerRadioTypeMap'
LinkQualityAggregatedStatsPerRadioTypeMap:
properties:
is5GHz:
$ref: '#/components/schemas/LinkQualityAggregatedStats'
is5GHzU:
$ref: '#/components/schemas/LinkQualityAggregatedStats'
is5GHzL:
$ref: '#/components/schemas/LinkQualityAggregatedStats'
is2dot4GHz:
$ref: '#/components/schemas/LinkQualityAggregatedStats'
LinkQualityAggregatedStats:
properties:
snr:
$ref: '#/components/schemas/MinMaxAvgValueInt'
badClientCount:
type: integer
format: int32
averageClientCount:
type: integer
format: int32
goodClientCount:
type: integer
format: int32
ClientActivityAggregatedStatsPerRadioTypeMap:
properties:
is5GHz:
$ref: '#/components/schemas/ClientActivityAggregatedStats'
is5GHzU:
$ref: '#/components/schemas/ClientActivityAggregatedStats'
is5GHzL:
$ref: '#/components/schemas/ClientActivityAggregatedStats'
is2dot4GHz:
$ref: '#/components/schemas/ClientActivityAggregatedStats'
ClientActivityAggregatedStats:
properties:
mbps:
$ref: '#/components/schemas/MinMaxAvgValueInt'
highClientCount:
type: integer
format: int32
mediumClientCount:
type: integer
format: int32
lowClientCount:
type: integer
format: int32
TrafficDetails:
type: object
properties:
perRadioDetails:
$ref: '#/components/schemas/TrafficPerRadioDetailsPerRadioTypeMap'
indicatorValueRxMbps:
#float
type: number
indicatorValueTxMbps:
#float
type: number
TrafficPerRadioDetailsPerRadioTypeMap:
properties:
is5GHz:
$ref: '#/components/schemas/TrafficPerRadioDetails'
is5GHzU:
$ref: '#/components/schemas/TrafficPerRadioDetails'
is5GHzL:
$ref: '#/components/schemas/TrafficPerRadioDetails'
is2dot4GHz:
$ref: '#/components/schemas/TrafficPerRadioDetails'
TrafficPerRadioDetails:
type: object
properties:
minRxMbps:
#float
type: number
maxRxMbps:
#float
type: number
avgRxMbps:
#float
type: number
totalRxMbps:
#float
type: number
minTxMbps:
#float
type: number
maxTxMbps:
#float
type: number
avgTxMbps:
#float
type: number
totalTxMbps:
#float
type: number
numGoodEquipment:
type: integer
format: int32
numWarnEquipment:
type: integer
format: int32
numBadEquipment:
type: integer
format: int32
totalApsReported:
type: integer
format: int32
RadiusDetails:
type: object
properties:
status:
$ref: '#/components/schemas/StatusCode'
radiusServerDetails:
type: array
items:
$ref: '#/components/schemas/RadiusServerDetails'
RadiusServerDetails:
type: object
properties:
address:
type: string
radiusLatency:
$ref: '#/components/schemas/MinMaxAvgValueInt'
EquipmentPerformanceDetails:
type: object
properties:
avgFreeMemory:
type: integer
format: int32
avgCpuUtilCore1:
type: integer
format: int32
avgCpuUtilCore2:
type: integer
format: int32
avgCpuTemperature:
type: integer
format: int32
CapacityDetails:
type: object
properties:
perRadioDetails:
$ref: '#/components/schemas/CapacityPerRadioDetailsMap'
CapacityPerRadioDetailsMap:
properties:
is5GHz:
$ref: '#/components/schemas/CapacityPerRadioDetails'
is5GHzU:
$ref: '#/components/schemas/CapacityPerRadioDetails'
is5GHzL:
$ref: '#/components/schemas/CapacityPerRadioDetails'
is2dot4GHz:
$ref: '#/components/schemas/CapacityPerRadioDetails'
CapacityPerRadioDetails:
properties:
totalCapacity:
type: integer
format: int32
availableCapacity:
$ref: '#/components/schemas/MinMaxAvgValueInt'
unavailableCapacity:
$ref: '#/components/schemas/MinMaxAvgValueInt'
usedCapacity:
$ref: '#/components/schemas/MinMaxAvgValueInt'
unusedCapacity:
$ref: '#/components/schemas/MinMaxAvgValueInt'
OperatingSystemPerformance:
type: object
properties:
model_type:
type: string
enum:
- OperatingSystemPerformance
statusDataType:
type: string
enum:
- OS_PERFORMANCE
numCamiCrashes:
type: integer
format: int32
uptimeInSeconds:
type: integer
format: int64
avgCpuUtilization:
#float
type: number
avgCpuPerCore:
type: array
items:
#float
type: number
avgFreeMemoryKb:
type: integer
format: int32
totalAvailableMemoryKb:
type: integer
format: int32
avgCpuTemperature:
#float
type: number
RadioUtilizationReport:
type: object
properties:
model_type:
type: string
enum:
- RadioUtilizationReport
statusDataType:
type: string
enum:
- RADIO_UTILIZATION
radioUtilization:
$ref: '#/components/schemas/EquipmentPerRadioUtilizationDetailsMap'
capacityDetails:
$ref: '#/components/schemas/EquipmentCapacityDetailsMap'
avgNoiseFloor:
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
EquipmentPerRadioUtilizationDetailsMap:
properties:
is5GHz:
$ref: '#/components/schemas/EquipmentPerRadioUtilizationDetails'
is5GHzU:
$ref: '#/components/schemas/EquipmentPerRadioUtilizationDetails'
is5GHzL:
$ref: '#/components/schemas/EquipmentPerRadioUtilizationDetails'
is2dot4GHz:
$ref: '#/components/schemas/EquipmentPerRadioUtilizationDetails'
EquipmentPerRadioUtilizationDetails:
type: object
properties:
wifiFromOtherBss:
$ref: '#/components/schemas/MinMaxAvgValueInt'
EquipmentCapacityDetailsMap:
properties:
is5GHz:
$ref: '#/components/schemas/EquipmentCapacityDetails'
is5GHzU:
$ref: '#/components/schemas/EquipmentCapacityDetails'
is5GHzL:
$ref: '#/components/schemas/EquipmentCapacityDetails'
is2dot4GHz:
$ref: '#/components/schemas/EquipmentCapacityDetails'
EquipmentCapacityDetails:
type: object
properties:
totalCapacity:
description: A theoretical maximum based on channel bandwidth
type: integer
format: int32
availableCapacity:
description: The percentage of capacity that is available for clients.
type: integer
format: int32
unavailableCapacity:
description: The percentage of capacity that is not available for clients (e.g. beacons, noise, non-wifi)
type: integer
format: int32
unusedCapacity:
description: The percentage of the overall capacity that is not being used.
type: integer
format: int32
usedCapacity:
description: The percentage of the overall capacity that is currently being used by associated clients.
type: integer
format: int32
#
# Objects related to Client sessions
#
ClientSession:
type: object
properties:
macAddress:
$ref: '#/components/schemas/MacAddress'
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
details:
$ref: '#/components/schemas/ClientSessionDetails'
lastModifiedTimestamp:
description: This class does not perform checks against concurrrent updates. Here last update always wins.
type: integer
format: int64
ClientSessionDetails:
type: object
properties:
sessionId:
type: integer
format: int64
authTimestamp:
type: integer
format: int64
assocTimestamp:
type: integer
format: int64
assocInternalSC:
type: integer
format: int32
ipTimestamp:
type: integer
format: int64
disconnectByApTimestamp:
type: integer
format: int64
disconnectByClientTimestamp:
type: integer
format: int64
timeoutTimestamp:
type: integer
format: int64
firstDataSentTimestamp:
type: integer
format: int64
firstDataRcvdTimestamp:
type: integer
format: int64
ipAddress:
type: string
radiusUsername:
type: string
ssid:
type: string
radioType:
$ref: '#/components/schemas/RadioType'
lastEventTimestamp:
type: integer
format: int64
hostname:
type: string
apFingerprint:
type: string
userAgentStr:
type: string
lastRxTimestamp:
type: integer
format: int64
lastTxTimestamp:
type: integer
format: int64
cpUsername:
type: string
dhcpDetails:
$ref: '#/components/schemas/ClientDhcpDetails'
eapDetails:
$ref: '#/components/schemas/ClientEapDetails'
metricDetails:
$ref: '#/components/schemas/ClientSessionMetricDetails'
isReassociation:
type: boolean
disconnectByApReasonCode:
type: integer
format: int32
disconnectByClientReasonCode:
type: integer
format: int32
disconnectByApInternalReasonCode:
type: integer
format: int32
disconnectByClientInternalReasonCode:
type: integer
format: int32
portEnabledTimestamp:
type: integer
format: int64
is11RUsed:
type: boolean
is11KUsed:
type: boolean
is11VUsed:
type: boolean
securityType:
$ref: '#/components/schemas/SecurityType'
steerType:
$ref: '#/components/schemas/SteerType'
previousValidSessionId:
type: integer
format: int64
lastFailureDetails:
$ref: '#/components/schemas/ClientFailureDetails'
firstFailureDetails:
$ref: '#/components/schemas/ClientFailureDetails'
associationStatus:
type: integer
format: int32
dynamicVlan:
type: integer
format: int32
assocRssi:
type: integer
format: int32
priorSessionId:
type: integer
format: int64
priorEquipmentId:
type: integer
format: int64
classificationName:
type: string
ClientDhcpDetails:
type: object
properties:
dhcpServerIp:
type: string
primaryDns:
type: string
secondaryDns:
type: string
subnetMask:
type: string
gatewayIp:
type: string
leaseStartTimestamp:
type: integer
format: int64
leaseTimeInSeconds:
type: integer
format: int32
firstRequestTimestamp:
type: integer
format: int64
firstOfferTimestamp:
type: integer
format: int64
firstDiscoverTimestamp:
type: integer
format: int64
nakTimestamp:
type: integer
format: int64
fromInternal:
type: boolean
ClientEapDetails:
type: object
properties:
eapKey1Timestamp:
type: integer
format: int64
eapKey2Timestamp:
type: integer
format: int64
eapKey3Timestamp:
type: integer
format: int64
eapKey4Timestamp:
type: integer
format: int64
requestIdentityTimestamp:
type: integer
format: int64
eapNegotiationStartTimestamp:
type: integer
format: int64
eapSuccessTimestamp:
type: integer
format: int64
ClientSessionMetricDetails:
type: object
properties:
rxBytes:
type: integer
format: int64
txBytes:
type: integer
format: int64
totalRxPackets:
type: integer
format: int64
totalTxPackets:
type: integer
format: int64
rxMbps:
type: number
#float
txMbps:
type: number
#float
rssi:
type: integer
format: int32
snr:
type: integer
format: int32
rxRateKbps:
# from MCS
type: integer
format: int64
txRateKbps:
# from MCS
type: integer
format: int64
lastMetricTimestamp:
type: integer
format: int64
lastRxTimestamp:
type: integer
format: int64
lastTxTimestamp:
type: integer
format: int64
classification:
type: string
txDataFrames:
description: The number of dataframes transmitted TO the client from the AP.
type: integer
format: int32
txDataFramesRetried:
description: The number of data frames transmitted TO the client that were retried. Note this is not the same as the number of retries.
type: integer
format: int32
rxDataFrames:
description: The number of dataframes transmitted FROM the client TO the AP.
type: integer
format: int32
SecurityType:
type: string
enum:
- OPEN
- RADIUS
- PSK
SteerType:
type: string
enum:
- steer_rsvd
- steer_deauth
- steer_11v
- steer_perimeter
ClientFailureDetails:
type: object
properties:
failureTimestamp:
type: integer
format: int64
reasonCode:
type: integer
format: int32
reason:
type: string
#
# Objects related to Clients
#
Client:
type: object
properties:
macAddress:
$ref: '#/components/schemas/MacAddress'
customerId:
type: integer
format: int32
details:
$ref: '#/components/schemas/ClientInfoDetails'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: This class does not perform checks against concurrrent updates. Here last update always wins.
type: integer
format: int64
ClientInfoDetails:
type: object
properties:
alias:
type: string
clientType:
type: integer
format: int32
apFingerprint:
type: string
userName:
type: string
hostName:
type: string
lastUsedCpUsername:
type: string
lastUserAgent:
type: string
doNotSteer:
type: boolean
blocklistDetails:
$ref: '#/components/schemas/BlocklistDetails'
BlocklistDetails:
type: object
properties:
enabled:
description: When enabled, blocklisting applies to the client, subject to the optional start/end times.
type: boolean
startTime:
description: Optional startTime when blocklisting becomes enabled.
type: integer
format: int64
endTime:
description: Optional endTime when blocklisting ceases to be enabled
type: integer
format: int64
#
# Alarm data models
#
Alarm:
type: object
properties:
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
alarmCode:
$ref: '#/components/schemas/AlarmCode'
createdTimestamp:
type: integer
format: int64
originatorType:
$ref: '#/components/schemas/OriginatorType'
severity:
$ref: '#/components/schemas/StatusCode'
scopeType:
$ref: '#/components/schemas/AlarmScopeType'
scopeId:
type: string
details:
$ref: '#/components/schemas/AlarmDetails'
acknowledged:
type: boolean
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
AlarmScopeType:
type: string
enum:
- CLIENT
- EQUIPMENT
- VLAN
- CUSTOMER
- LOCATION
OriginatorType:
type: string
enum:
- AP
- SWITCH
- NET
AlarmCode:
type: string
enum:
- LimitedCloudConnectivity # (3, Equipment is connected, however it's not reporting status or metrics),
- AccessPointIsUnreachable # (4, Equipment is not reachable from cloud),
- NoMetricsReceived # (6, Equipment is not report metrics),
- NoiseFloor2G # (7, Noise floor is too high on 2G radio),
- ChannelUtilization2G # (8, Channel utilization is too high on 2G radio),
- NoiseFloor5G # (9, Noise floor is too high on 5G radio),
- ChannelUtilization5G # (10, Channel utilization is too high on 5G radio),
- DNS # (11, Issue with Domain Name System (DNS)),
- DNSLatency # (12, DNS query take too long),
- DHCP # (13, Issue with DHCP),
- DHCPLatency # (14, DHCP requests take too long),
- Radius # (15, Issue with RADIUS),
- RadiusLatency # (16, RADIUS request takes too long),
- CloudLink # (17, Issue reported by equipment with connection with Cloud),
- CloudLinkLatency # (18, Cloud request take too long),
- CPUUtilization # (19, CPU utilization is too high),
- MemoryUtilization # (20, Memory utilization is too high),
- Disconnected # (22, Equipment is not connected to the cloud),
- CPUTemperature # (23, CPU Temperature is too high),
- LowMemoryReboot # (25, Equipment rebooted due to low memory),
- CountryCodeMisMatch # (26, Equipment country code does not match with location),
- RulesCompilationErrors # (27, Rule compliation error encountered),
- RulesRuntimeLimitsExceeded # (28, Number of object or event are too high in rule engine run-time memory),
- HardwareIssueDiagnostic # (29, Hardware issue encountered on equipment)
- TooManyClients2g # (30, Too many client devices on 2G radio),
- TooManyClients5g # (31, Too many client devices on 5G radio),
- RebootRequestFailed # (32, Failed to reboot equipment),
- RadiusConfigurationFailed # (33, Failed to configure RADIUS on equipment),
- FirmwareUpgradeStuck # (34, Firmware upgrade failed),
- MultipleAPCsOnSameSubnet # (35, Multiple APC reported on the same subnet),
- RadioHung2G # (36, Radio hung on 2G radio),
- RadioHung5G # (37, Radio hung on 5G radio),
- ConfigurationOutOfSync # (38, Equipment configuration is out-of-sync from cloud configuration),
- AggregationOutOfDate # (39, Metrics aggregation is out of date),
- FailedCPAuthentications # (40, Captive portal authenticaiton request failed),
- DisabledSSID # (41, SSID is disabled on equipment even though it is configured),
- DeauthAttackDetected # (42, De-Auth attack detected),
- RulesCalledTooOften # (43, Rules are called too often on rule agent),
- MspSuspended # (44, Managed Service Provider for the customer is suspended),
- TooManyBlockedDevices # (45, Too many blocked client devices provisioned),
- TooManyRogueAPs # (46, Too many rogue APs provisioned),
- NeighbourScanStuckOn2g # (47, Neighbour scan is stuck on 2G Radio),
- NeighbourScanStuckOn5g # (48, Neighbour scan is stuck on 5G Radio),
- InTroubleshootMode # (49, Equipment has been in troubleshot mode for too long),
- ChannelsOutOfSync2g # (50, Channel configuration is out-of-sync from cloud configuration on 2G radio), in case the channel selection is out of sync
- ChannelsOutOfSync5gv # (51, Channel configuration is out-of-sync from cloud configuration on 5G radio), in case the channel selection is out of sync
- InconsistentBasemacs # (52, Equipment base MAC address reported is different than the provisioned value.),
- GenericError # (53, Generic error encountered, detail in alarm text),
- RadioHung # (54, Equipment reported radio hung),
- AssocFailure # (55, Association failed),
- ClientAuthFailure # (56, Client device authentication failed),
- QoEIssues2g # (57, QoE issue detected on 2G radio),
- QoEIssues5g # (58, QoE issue detected on 5G radio),
- DNSServerUnreachable # (67, DNS Server is unreachable),
- DNSServerLatency # (68, DNS Server query takes too long),
AlarmDetails:
type: object
properties:
message:
type: string
affectedEquipmentIds:
type: array
items:
type: integer
format: int64
generatedBy:
type: string
contextAttrs:
$ref: '#/components/schemas/AlarmDetailsAttributesMap'
AlarmDetailsAttributesMap:
type: object
additionalProperties:
type: object
AlarmCounts:
properties:
customerId:
type: integer
format: int32
countsPerEquipmentIdMap:
$ref: '#/components/schemas/CountsPerEquipmentIdPerAlarmCodeMap'
totalCountsPerAlarmCodeMap:
$ref: '#/components/schemas/CountsPerAlarmCodeMap'
CountsPerAlarmCodeMap:
description: map of AlarmCode to the integer count of alarms
type: object
additionalProperties:
type: integer
format: int32
CountsPerEquipmentIdPerAlarmCodeMap:
description: map of AlarmCode to the integer count of alarms
type: object
additionalProperties:
$ref: '#/components/schemas/CountsPerAlarmCodeMap'
#
# WLAN Service Metrics Data Models
#
ServiceMetricDataType:
type: string
enum:
- ApNode
- ApSsid
- Client
- Channel
- Neighbour
ServiceMetric:
type: object
properties:
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
clientMac:
description: int64 representation of the client MAC address, used internally for storage and indexing
type: integer
format: int64
clientMacAddress:
#description: read-only object representation of the client MAC address, used in UI
$ref: '#/components/schemas/MacAddress'
dataType:
$ref: '#/components/schemas/ServiceMetricDataType'
createdTimestamp:
type: integer
format: int64
details:
$ref: '#/components/schemas/ServiceMetricDetails'
ServiceMetricDetails:
oneOf:
- $ref: '#/components/schemas/ApNodeMetrics'
- $ref: '#/components/schemas/ApSsidMetrics'
- $ref: '#/components/schemas/ChannelInfoReports'
- $ref: '#/components/schemas/ClientMetrics'
- $ref: '#/components/schemas/NeighbourScanReports'
discriminator:
propertyName: model_type
NeighbourScanReports:
properties:
neighbourReports:
type: array
items:
$ref: '#/components/schemas/NeighbourReport'
NeighbourReport:
properties:
macAddress:
$ref: '#/components/schemas/MacAddress'
ssid:
type: string
beaconInterval:
type: integer
format: int32
networkType:
$ref: '#/components/schemas/NetworkType'
privacy:
type: boolean
RadioType radioType:
$ref: '#/components/schemas/RadioType'
channel:
type: integer
format: int32
rate:
type: integer
format: int32
rssi:
type: integer
format: int32
signal:
type: integer
format: int32
scanTimeInSeconds:
type: integer
format: int64
nMode:
type: boolean
acMode:
type: boolean
bMode:
type: boolean
packetType:
$ref: '#/components/schemas/NeighborScanPacketType'
secureMode:
$ref: '#/components/schemas/DetectedAuthMode'
NetworkType:
type: string
enum:
- AP
- ADHOC
NeighborScanPacketType:
type: string
enum:
- ASSOC_REQ
- ASSOC_RESP
- REASSOC_REQ
- REASSOC_RESP
- PROBE_REQ
- PROBE_RESP
- BEACON
- DISASSOC
- AUTH
- DEAUTH
- ACTION
- ACTION_NOACK
- DATA
-OTHER
DetectedAuthMode:
type: string
enum:
- OPEN
- WEP
- WPA
- UNKNOWN
GuardInterval:
type: string
enum:
- LGI# Long Guard Interval
- SGI# Short Guard Interval
ClientMetrics:
properties:
secondsSinceLastRecv:
type: integer
format: int32
numRxPackets:
type: integer
format: int64
numTxPackets:
type: integer
format: int64
numRxBytes:
type: integer
format: int64
numTxBytes:
type: integer
format: int64
txRetries:
type: integer
format: int32
rxDuplicatePackets:
type: integer
format: int32
rateCount:
type: integer
format: int32
rates:
type: array
items:
type: integer
format: int32 #byte
mcs:
type: array
items:
type: integer
format: int32 #byte
vhtMcs:
type: integer
format: int32
snr:
type: integer
format: int32
rssi:
type: integer
format: int32
sessionId:
type: integer
format: int64
classificationName:
type: string
channelBandWidth:
$ref: '#/components/schemas/ChannelBandwidth'
guardInterval:
$ref: '#/components/schemas/GuardInterval'
ciscoLastRate:
type: integer
format: int32
averageTxRate:
type: number
format: double
averageRxRate:
type: number
format: double
numTxDataFrames_12_Mbps:
type: integer
format: int64
numTxDataFrames_54_Mbps:
type: integer
format: int64
numTxDataFrames_108_Mbps:
type: integer
format: int64
numTxDataFrames_300_Mbps:
type: integer
format: int64
numTxDataFrames_450_Mbps:
type: integer
format: int64
numTxDataFrames_1300_Mbps:
type: integer
format: int64
numTxDataFrames_1300Plus_Mbps:
type: integer
format: int64
numRxDataFrames_12_Mbps:
type: integer
format: int64
numRxDataFrames_54_Mbps:
type: integer
format: int64
numRxDataFrames_108_Mbps:
type: integer
format: int64
numRxDataFrames_300_Mbps:
type: integer
format: int64
numRxDataFrames_450_Mbps:
type: integer
format: int64
numRxDataFrames_1300_Mbps:
type: integer
format: int64
numRxDataFrames_1300Plus_Mbps:
type: integer
format: int64
numTxTimeFramesTransmitted:
type: integer
format: int64
numRxTimeToMe:
type: integer
format: int64
numTxTimeData:
type: integer
format: int64
numRxTimeData:
type: integer
format: int64
numTxFramesTransmitted:
type: integer
format: int64
numTxSuccessWithRetry:
type: integer
format: int64
numTxMultipleRetries:
type: integer
format: int64
numTxDataTransmittedRetried:
type: integer
format: int64
numTxDataTransmitted:
type: integer
format: int64
numRxFramesReceived:
type: integer
format: int64
numRxDataFramesRetried:
type: integer
format: int64
numRxDataFrames:
type: integer
format: int64
numTx_1_Mbps:
type: integer
format: int64
numTx_6_Mbps:
type: integer
format: int64
numTx_9_Mbps:
type: integer
format: int64
numTx_12_Mbps:
type: integer
format: int64
numTx_18_Mbps:
type: integer
format: int64
numTx_24_Mbps:
type: integer
format: int64
numTx_36_Mbps:
type: integer
format: int64
numTx_48_Mbps:
type: integer
format: int64
numTx_54_Mbps:
type: integer
format: int64
numRx_1_Mbps:
type: integer
format: int64
numRx_6_Mbps:
type: integer
format: int64
numRx_9_Mbps:
type: integer
format: int64
numRx_12_Mbps:
type: integer
format: int64
numRx_18_Mbps:
type: integer
format: int64
numRx_24_Mbps:
type: integer
format: int64
numRx_36_Mbps:
type: integer
format: int64
numRx_48_Mbps:
type: integer
format: int64
numRx_54_Mbps:
type: integer
format: int64
numTxHT_6_5_Mbps:
type: integer
format: int64
numTxHT_7_1_Mbps:
type: integer
format: int64
numTxHT_13_Mbps:
type: integer
format: int64
numTxHT_13_5_Mbps:
type: integer
format: int64
numTxHT_14_3_Mbps:
type: integer
format: int64
numTxHT_15_Mbps:
type: integer
format: int64
numTxHT_19_5_Mbps:
type: integer
format: int64
numTxHT_21_7_Mbps:
type: integer
format: int64
numTxHT_26_Mbps:
type: integer
format: int64
numTxHT_27_Mbps:
type: integer
format: int64
numTxHT_28_7_Mbps:
type: integer
format: int64
numTxHT_28_8_Mbps:
type: integer
format: int64
numTxHT_29_2_Mbps:
type: integer
format: int64
numTxHT_30_Mbps:
type: integer
format: int64
numTxHT_32_5_Mbps:
type: integer
format: int64
numTxHT_39_Mbps:
type: integer
format: int64
numTxHT_40_5_Mbps:
type: integer
format: int64
numTxHT_43_2_Mbps:
type: integer
format: int64
numTxHT_45_Mbps:
type: integer
format: int64
numTxHT_52_Mbps:
type: integer
format: int64
numTxHT_54_Mbps:
type: integer
format: int64
numTxHT_57_5_Mbps:
type: integer
format: int64
numTxHT_57_7_Mbps:
type: integer
format: int64
numTxHT_58_5_Mbps:
type: integer
format: int64
numTxHT_60_Mbps:
type: integer
format: int64
numTxHT_65_Mbps:
type: integer
format: int64
numTxHT_72_1_Mbps:
type: integer
format: int64
numTxHT_78_Mbps:
type: integer
format: int64
numTxHT_81_Mbps:
type: integer
format: int64
numTxHT_86_6_Mbps:
type: integer
format: int64
numTxHT_86_8_Mbps:
type: integer
format: int64
numTxHT_87_8_Mbps:
type: integer
format: int64
numTxHT_90_Mbps:
type: integer
format: int64
numTxHT_97_5_Mbps:
type: integer
format: int64
numTxHT_104_Mbps:
type: integer
format: int64
numTxHT_108_Mbps:
type: integer
format: int64
numTxHT_115_5_Mbps:
type: integer
format: int64
numTxHT_117_Mbps:
type: integer
format: int64
numTxHT_117_1_Mbps:
type: integer
format: int64
numTxHT_120_Mbps:
type: integer
format: int64
numTxHT_121_5_Mbps:
type: integer
format: int64
numTxHT_130_Mbps:
type: integer
format: int64
numTxHT_130_3_Mbps:
type: integer
format: int64
numTxHT_135_Mbps:
type: integer
format: int64
numTxHT_144_3_Mbps:
type: integer
format: int64
numTxHT_150_Mbps:
type: integer
format: int64
numTxHT_156_Mbps:
type: integer
format: int64
numTxHT_162_Mbps:
type: integer
format: int64
numTxHT_173_1_Mbps:
type: integer
format: int64
numTxHT_173_3_Mbps:
type: integer
format: int64
numTxHT_175_5_Mbps:
type: integer
format: int64
numTxHT_180_Mbps:
type: integer
format: int64
numTxHT_195_Mbps:
type: integer
format: int64
numTxHT_200_Mbps:
type: integer
format: int64
numTxHT_208_Mbps:
type: integer
format: int64
numTxHT_216_Mbps:
type: integer
format: int64
numTxHT_216_6_Mbps:
type: integer
format: int64
numTxHT_231_1_Mbps:
type: integer
format: int64
numTxHT_234_Mbps:
type: integer
format: int64
numTxHT_240_Mbps:
type: integer
format: int64
numTxHT_243_Mbps:
type: integer
format: int64
numTxHT_260_Mbps:
type: integer
format: int64
numTxHT_263_2_Mbps:
type: integer
format: int64
numTxHT_270_Mbps:
type: integer
format: int64
numTxHT_288_7_Mbps:
type: integer
format: int64
numTxHT_288_8_Mbps:
type: integer
format: int64
numTxHT_292_5_Mbps:
type: integer
format: int64
numTxHT_300_Mbps:
type: integer
format: int64
numTxHT_312_Mbps:
type: integer
format: int64
numTxHT_324_Mbps:
type: integer
format: int64
numTxHT_325_Mbps:
type: integer
format: int64
numTxHT_346_7_Mbps:
type: integer
format: int64
numTxHT_351_Mbps:
type: integer
format: int64
numTxHT_351_2_Mbps:
type: integer
format: int64
numTxHT_360_Mbps:
type: integer
format: int64
numRxHT_6_5_Mbps:
type: integer
format: int64
numRxHT_7_1_Mbps:
type: integer
format: int64
numRxHT_13_Mbps:
type: integer
format: int64
numRxHT_13_5_Mbps:
type: integer
format: int64
numRxHT_14_3_Mbps:
type: integer
format: int64
numRxHT_15_Mbps:
type: integer
format: int64
numRxHT_19_5_Mbps:
type: integer
format: int64
numRxHT_21_7_Mbps:
type: integer
format: int64
numRxHT_26_Mbps:
type: integer
format: int64
numRxHT_27_Mbps:
type: integer
format: int64
numRxHT_28_7_Mbps:
type: integer
format: int64
numRxHT_28_8_Mbps:
type: integer
format: int64
numRxHT_29_2_Mbps:
type: integer
format: int64
numRxHT_30_Mbps:
type: integer
format: int64
numRxHT_32_5_Mbps:
type: integer
format: int64
numRxHT_39_Mbps:
type: integer
format: int64
numRxHT_40_5_Mbps:
type: integer
format: int64
numRxHT_43_2_Mbps:
type: integer
format: int64
numRxHT_45_Mbps:
type: integer
format: int64
numRxHT_52_Mbps:
type: integer
format: int64
numRxHT_54_Mbps:
type: integer
format: int64
numRxHT_57_5_Mbps:
type: integer
format: int64
numRxHT_57_7_Mbps:
type: integer
format: int64
numRxHT_58_5_Mbps:
type: integer
format: int64
numRxHT_60_Mbps:
type: integer
format: int64
numRxHT_65_Mbps:
type: integer
format: int64
numRxHT_72_1_Mbps:
type: integer
format: int64
numRxHT_78_Mbps:
type: integer
format: int64
numRxHT_81_Mbps:
type: integer
format: int64
numRxHT_86_6_Mbps:
type: integer
format: int64
numRxHT_86_8_Mbps:
type: integer
format: int64
numRxHT_87_8_Mbps:
type: integer
format: int64
numRxHT_90_Mbps:
type: integer
format: int64
numRxHT_97_5_Mbps:
type: integer
format: int64
numRxHT_104_Mbps:
type: integer
format: int64
numRxHT_108_Mbps:
type: integer
format: int64
numRxHT_115_5_Mbps:
type: integer
format: int64
numRxHT_117_Mbps:
type: integer
format: int64
numRxHT_117_1_Mbps:
type: integer
format: int64
numRxHT_120_Mbps:
type: integer
format: int64
numRxHT_121_5_Mbps:
type: integer
format: int64
numRxHT_130_Mbps:
type: integer
format: int64
numRxHT_130_3_Mbps:
type: integer
format: int64
numRxHT_135_Mbps:
type: integer
format: int64
numRxHT_144_3_Mbps:
type: integer
format: int64
numRxHT_150_Mbps:
type: integer
format: int64
numRxHT_156_Mbps:
type: integer
format: int64
numRxHT_162_Mbps:
type: integer
format: int64
numRxHT_173_1_Mbps:
type: integer
format: int64
numRxHT_173_3_Mbps:
type: integer
format: int64
numRxHT_175_5_Mbps:
type: integer
format: int64
numRxHT_180_Mbps:
type: integer
format: int64
numRxHT_195_Mbps:
type: integer
format: int64
numRxHT_200_Mbps:
type: integer
format: int64
numRxHT_208_Mbps:
type: integer
format: int64
numRxHT_216_Mbps:
type: integer
format: int64
numRxHT_216_6_Mbps:
type: integer
format: int64
numRxHT_231_1_Mbps:
type: integer
format: int64
numRxHT_234_Mbps:
type: integer
format: int64
numRxHT_240_Mbps:
type: integer
format: int64
numRxHT_243_Mbps:
type: integer
format: int64
numRxHT_260_Mbps:
type: integer
format: int64
numRxHT_263_2_Mbps:
type: integer
format: int64
numRxHT_270_Mbps:
type: integer
format: int64
numRxHT_288_7_Mbps:
type: integer
format: int64
numRxHT_288_8_Mbps:
type: integer
format: int64
numRxHT_292_5_Mbps:
type: integer
format: int64
numRxHT_300_Mbps:
type: integer
format: int64
numRxHT_312_Mbps:
type: integer
format: int64
numRxHT_324_Mbps:
type: integer
format: int64
numRxHT_325_Mbps:
type: integer
format: int64
numRxHT_346_7_Mbps:
type: integer
format: int64
numRxHT_351_Mbps:
type: integer
format: int64
numRxHT_351_2_Mbps:
type: integer
format: int64
numRxHT_360_Mbps:
type: integer
format: int64
numTxVHT_292_5_Mbps:
type: integer
format: int64
numTxVHT_325_Mbps:
type: integer
format: int64
numTxVHT_364_5_Mbps:
type: integer
format: int64
numTxVHT_390_Mbps:
type: integer
format: int64
numTxVHT_400_Mbps:
type: integer
format: int64
numTxVHT_403_Mbps:
type: integer
format: int64
numTxVHT_405_Mbps:
type: integer
format: int64
numTxVHT_432_Mbps:
type: integer
format: int64
numTxVHT_433_2_Mbps:
type: integer
format: int64
numTxVHT_450_Mbps:
type: integer
format: int64
numTxVHT_468_Mbps:
type: integer
format: int64
numTxVHT_480_Mbps:
type: integer
format: int64
numTxVHT_486_Mbps:
type: integer
format: int64
numTxVHT_520_Mbps:
type: integer
format: int64
numTxVHT_526_5_Mbps:
type: integer
format: int64
numTxVHT_540_Mbps:
type: integer
format: int64
numTxVHT_585_Mbps:
type: integer
format: int64
numTxVHT_600_Mbps:
type: integer
format: int64
numTxVHT_648_Mbps:
type: integer
format: int64
numTxVHT_650_Mbps:
type: integer
format: int64
numTxVHT_702_Mbps:
type: integer
format: int64
numTxVHT_720_Mbps:
type: integer
format: int64
numTxVHT_780_Mbps:
type: integer
format: int64
numTxVHT_800_Mbps:
type: integer
format: int64
numTxVHT_866_7_Mbps:
type: integer
format: int64
numTxVHT_877_5_Mbps:
type: integer
format: int64
numTxVHT_936_Mbps:
type: integer
format: int64
numTxVHT_975_Mbps:
type: integer
format: int64
numTxVHT_1040_Mbps:
type: integer
format: int64
numTxVHT_1053_Mbps:
type: integer
format: int64
numTxVHT_1053_1_Mbps:
type: integer
format: int64
numTxVHT_1170_Mbps:
type: integer
format: int64
numTxVHT_1300_Mbps:
type: integer
format: int64
numTxVHT_1404_Mbps:
type: integer
format: int64
numTxVHT_1560_Mbps:
type: integer
format: int64
numTxVHT_1579_5_Mbps:
type: integer
format: int64
numTxVHT_1733_1_Mbps:
type: integer
format: int64
numTxVHT_1733_4_Mbps:
type: integer
format: int64
numTxVHT_1755_Mbps:
type: integer
format: int64
numTxVHT_1872_Mbps:
type: integer
format: int64
numTxVHT_1950_Mbps:
type: integer
format: int64
numTxVHT_2080_Mbps:
type: integer
format: int64
numTxVHT_2106_Mbps:
type: integer
format: int64
numTxVHT_2340_Mbps:
type: integer
format: int64
numTxVHT_2600_Mbps:
type: integer
format: int64
numTxVHT_2808_Mbps:
type: integer
format: int64
numTxVHT_3120_Mbps:
type: integer
format: int64
numTxVHT_3466_8_Mbps:
type: integer
format: int64
numRxVHT_292_5_Mbps:
type: integer
format: int64
numRxVHT_325_Mbps:
type: integer
format: int64
numRxVHT_364_5_Mbps:
type: integer
format: int64
numRxVHT_390_Mbps:
type: integer
format: int64
numRxVHT_400_Mbps:
type: integer
format: int64
numRxVHT_403_Mbps:
type: integer
format: int64
numRxVHT_405_Mbps:
type: integer
format: int64
numRxVHT_432_Mbps:
type: integer
format: int64
numRxVHT_433_2_Mbps:
type: integer
format: int64
numRxVHT_450_Mbps:
type: integer
format: int64
numRxVHT_468_Mbps:
type: integer
format: int64
numRxVHT_480_Mbps:
type: integer
format: int64
numRxVHT_486_Mbps:
type: integer
format: int64
numRxVHT_520_Mbps:
type: integer
format: int64
numRxVHT_526_5_Mbps:
type: integer
format: int64
numRxVHT_540_Mbps:
type: integer
format: int64
numRxVHT_585_Mbps:
type: integer
format: int64
numRxVHT_600_Mbps:
type: integer
format: int64
numRxVHT_648_Mbps:
type: integer
format: int64
numRxVHT_650_Mbps:
type: integer
format: int64
numRxVHT_702_Mbps:
type: integer
format: int64
numRxVHT_720_Mbps:
type: integer
format: int64
numRxVHT_780_Mbps:
type: integer
format: int64
numRxVHT_800_Mbps:
type: integer
format: int64
numRxVHT_866_7_Mbps:
type: integer
format: int64
numRxVHT_877_5_Mbps:
type: integer
format: int64
numRxVHT_936_Mbps:
type: integer
format: int64
numRxVHT_975_Mbps:
type: integer
format: int64
numRxVHT_1040_Mbps:
type: integer
format: int64
numRxVHT_1053_Mbps:
type: integer
format: int64
numRxVHT_1053_1_Mbps:
type: integer
format: int64
numRxVHT_1170_Mbps:
type: integer
format: int64
numRxVHT_1300_Mbps:
type: integer
format: int64
numRxVHT_1404_Mbps:
type: integer
format: int64
numRxVHT_1560_Mbps:
type: integer
format: int64
numRxVHT_1579_5_Mbps:
type: integer
format: int64
numRxVHT_1733_1_Mbps:
type: integer
format: int64
numRxVHT_1733_4_Mbps:
type: integer
format: int64
numRxVHT_1755_Mbps:
type: integer
format: int64
numRxVHT_1872_Mbps:
type: integer
format: int64
numRxVHT_1950_Mbps:
type: integer
format: int64
numRxVHT_2080_Mbps:
type: integer
format: int64
numRxVHT_2106_Mbps:
type: integer
format: int64
numRxVHT_2340_Mbps:
type: integer
format: int64
numRxVHT_2600_Mbps:
type: integer
format: int64
numRxVHT_2808_Mbps:
type: integer
format: int64
numRxVHT_3120_Mbps:
type: integer
format: int64
numRxVHT_3466_8_Mbps:
type: integer
format: int64
rxLastRssi:
description: The RSSI of last frame received.
type: integer
format: int32
numRxNoFcsErr:
description: The number of received frames without FCS errors.
type: integer
format: int32
numRxData:
description: The number of received data frames.
type: integer
format: int32
numRxManagement:
description: The number of received management frames.
type: integer
format: int32
numRxControl:
description: The number of received control frames.
type: integer
format: int32
rxBytes:
description: The number of received bytes.
type: integer
format: int64
rxDataBytes:
description: The number of received data bytes.
type: integer
format: int64
numRxRts:
description: The number of received RTS frames.
type: integer
format: int32
numRxCts:
description: The number of received CTS frames.
type: integer
format: int32
numRxAck:
description: The number of all received ACK frames (Acks + BlockAcks).
type: integer
format: int32
numRxProbeReq:
description: The number of received probe request frames.
type: integer
format: int32
numRxRetry:
description: The number of received retry frames.
type: integer
format: int32
numRxDup:
description: The number of received duplicated frames.
type: integer
format: int32
numRxNullData:
description: The number of received null data frames.
type: integer
format: int32
numRxPspoll:
description: The number of received ps-poll frames.
type: integer
format: int32
numRxStbc:
description: The number of received STBC frames.
type: integer
format: int32
numRxLdpc:
description: The number of received LDPC frames.
type: integer
format: int32
lastRecvLayer3Ts:
description: The timestamp of last received layer three user traffic (IP data)
type: integer
format: int64
numRcvFrameForTx:
description: The number of received ethernet and local generated frames for transmit.
type: integer
format: int64
numTxQueued:
description: The number of TX frames queued.
type: integer
format: int64
numTxDropped:
description: The number of every TX frame dropped.
type: integer
format: int32
numTxRetryDropped:
description: The number of TX frame dropped due to retries.
type: integer
format: int32
numTxSucc:
description: The number of frames successfully transmitted.
type: integer
format: int32
numTxByteSucc:
description: The Number of Tx bytes successfully transmitted.
type: integer
format: int64
numTxSuccNoRetry:
description: The number of successfully transmitted frames at first attempt.
type: integer
format: int32
numTxSuccRetries:
description: The number of successfully transmitted frames with retries.
type: integer
format: int32
numTxMultiRetries:
description: The number of Tx frames with retries.
type: integer
format: int32
numTxManagement:
description: The number of TX management frames.
type: integer
format: int32
numTxControl:
description: The number of Tx control frames.
type: integer
format: int32
numTxAction:
description: The number of Tx action frames.
type: integer
format: int32
numTxPropResp:
description: The number of TX probe response.
type: integer
format: int32
numTxData:
description: The number of Tx data frames.
type: integer
format: int32
numTxDataRetries:
description: The number of Tx data frames with retries,done.
type: integer
format: int32
numTxRtsSucc:
description: The number of RTS frames sent successfully, done.
type: integer
format: int32
numTxRtsFail:
description: The number of RTS frames failed transmission.
type: integer
format: int32
numTxNoAck:
description: The number of TX frames failed because of not Acked.
type: integer
format: int32
numTxEapol:
description: The number of EAPOL frames sent.
type: integer
format: int32
numTxLdpc:
description: The number of total LDPC frames sent.
type: integer
format: int32
numTxStbc:
description: The number of total STBC frames sent.
type: integer
format: int32
numTxAggrSucc:
description: The number of aggregation frames sent successfully.
type: integer
format: int32
numTxAggrOneMpdu:
description: The number of aggregation frames sent using single MPDU (where the A-MPDU contains only one MPDU ).
type: integer
format: int32
lastSentLayer3Ts:
description: The timestamp of last successfully sent layer three user traffic (IP data).
type: integer
format: int64
wmmQueueStats:
$ref: '#/components/schemas/WmmQueueStatsPerQueueTypeMap'
List<McsStats> mcsStats:
type: array
items:
$ref: '#/components/schemas/McsStats'
lastRxMcsIdx:
#description: The last RX MCS/rate index.
$ref: '#/components/schemas/McsType'
lastTxMcsIdx:
#description: The last TX MCS/rate index.
$ref: '#/components/schemas/McsType'
radioType:
$ref: '#/components/schemas/RadioType'
periodLengthSec:
description: How many seconds the AP measured for the metric
type: integer
format: int32
ChannelInfoReports:
properties:
channelInformationReportsPerRadio:
$ref: '#/components/schemas/ListOfChannelInfoReportsPerRadioMap'
ListOfChannelInfoReportsPerRadioMap:
properties:
is5GHz:
type: array
items:
$ref: '#/components/schemas/ChannelInfo'
is5GHzU:
type: array
items:
$ref: '#/components/schemas/ChannelInfo'
is5GHzL:
type: array
items:
$ref: '#/components/schemas/ChannelInfo'
is2dot4GHz:
type: array
items:
$ref: '#/components/schemas/ChannelInfo'
ChannelInfo:
properties:
chanNumber:
type: integer
format: int32
bandwidth:
$ref: '#/components/schemas/ChannelBandwidth'
totalUtilization:
type: integer
format: int32
wifiUtilization:
type: integer
format: int32
noiseFloor:
type: integer
format: int32
ApSsidMetrics:
properties:
ssidStats:
$ref: '#/components/schemas/ListOfSsidStatisticsPerRadioMap'
ListOfSsidStatisticsPerRadioMap:
properties:
is5GHz:
type: array
items:
$ref: '#/components/schemas/SsidStatistics'
is5GHzU:
type: array
items:
$ref: '#/components/schemas/SsidStatistics'
is5GHzL:
type: array
items:
$ref: '#/components/schemas/SsidStatistics'
is2dot4GHz:
type: array
items:
$ref: '#/components/schemas/SsidStatistics'
SsidStatistics:
properties:
ssid:
description: SSID
type: string
bssid:
$ref: '#/components/schemas/MacAddress'
numClient:
description: Number client associated to this BSS
type: integer
format: int32
rxLastRssi:
description: The RSSI of last frame received.
type: integer
format: int32
numRxNoFcsErr:
description: The number of received frames without FCS errors.
type: integer
format: int32
numRxData:
description: The number of received data frames.
type: integer
format: int32
numRxManagement:
description: The number of received management frames.
type: integer
format: int32
numRxControl:
description: The number of received control frames.
type: integer
format: int32
rxBytes:
description: The number of received bytes.
type: integer
format: int32
rxDataBytes:
description: The number of received data bytes.
type: integer
format: int64
numRxRts:
description: The number of received RTS frames.
type: integer
format: int32
numRxCts:
description: The number of received CTS frames.
type: integer
format: int32
numRxAck:
description: The number of all received ACK frames (Acks + BlockAcks).
type: integer
format: int32
numRxProbeReq:
description: The number of received probe request frames.
type: integer
format: int32
numRxRetry:
description: The number of received retry frames.
type: integer
format: int32
numRxDup:
description: The number of received duplicated frames.
type: integer
format: int32
numRxNullData:
description: The number of received null data frames.
type: integer
format: int32
numRxPspoll:
description: The number of received ps-poll frames.
type: integer
format: int32
numRxStbc:
description: The number of received STBC frames.
type: integer
format: int32
numRxLdpc:
description: The number of received LDPC frames.
type: integer
format: int32
numRcvFrameForTx:
description: The number of received ethernet and local generated frames for transmit.
type: integer
format: int64
numTxQueued:
description: The number of TX frames queued.
type: integer
format: int64
numRcvBcForTx:
description: The number of received ethernet and local generated broadcast frames for transmit.
type: integer
format: int32
numTxDropped:
description: The number of every TX frame dropped.
type: integer
format: int32
numTxRetryDropped:
description: The number of TX frame dropped due to retries.
type: integer
format: int32
numTxBcDropped:
description: The number of broadcast frames dropped.
type: integer
format: int32
numTxSucc:
description: The number of frames successfully transmitted.
type: integer
format: int32
numTxBytesSucc:
description: The number of bytes successfully transmitted.
type: integer
format: int64
numTxPsUnicast:
description: The number of transmitted PS unicast frame.
type: integer
format: int32
numTxDtimMc:
description: The number of transmitted DTIM multicast frames.
type: integer
format: int32
numTxSuccNoRetry:
description: The number of successfully transmitted frames at firt attemp.
type: integer
format: int32
numTxSuccRetries:
description: The number of successfully transmitted frames with retries.
type: integer
format: int32
numTxMultiRetries:
description: The number of Tx frames with retries.
type: integer
format: int32
numTxManagement:
description: The number of TX management frames.
type: integer
format: int32
numTxControl:
description: The number of Tx control frames.
type: integer
format: int32
numTxAction:
description: The number of Tx action frames.
type: integer
format: int32
numTxPropResp:
description: The number of TX probe response.
type: integer
format: int32
numTxData:
description: The number of Tx data frames.
type: integer
format: int32
numTxDataRetries:
description: The number of Tx data frames with retries.
type: integer
format: int32
numTxRtsSucc:
description: The number of RTS frames sent successfully.
type: integer
format: int32
numTxRtsFail:
description: The number of RTS frames failed transmission.
type: integer
format: int32
numTxNoAck:
description: The number of TX frames failed because of not Acked.
type: integer
format: int32
numTxEapol:
description: The number of EAPOL frames sent.
type: integer
format: int32
numTxLdpc:
description: The number of total LDPC frames sent.
type: integer
format: int32
numTxStbc:
description: The number of total STBC frames sent.
type: integer
format: int32
numTxAggrSucc:
description: The number of aggregation frames sent successfully.
type: integer
format: int32
numTxAggrOneMpdu:
description: The number of aggregation frames sent using single MPDU (where the A-MPDU contains only one MPDU ).
type: integer
format: int32
wmmQueueStats:
$ref: '#/components/schemas/WmmQueueStatsPerQueueTypeMap'
mcsStats:
type: array
items:
$ref: '#/components/schemas/McsStats'
ApNodeMetrics:
type: object
properties:
periodLengthSec:
description: How many seconds the AP measured for the metric
type: integer
format: int32
clientMacAddressesPerRadio:
#description: Client MAC addresses seen during the period
$ref: '#/components/schemas/ListOfMacsPerRadioMap'
txBytesPerRadio:
#description: Total number the bytes transmitted on radio
$ref: '#/components/schemas/LongPerRadioTypeMap'
rxBytesPerRadio:
#description: Total number of bytes received on radio
$ref: '#/components/schemas/LongPerRadioTypeMap'
noiseFloorPerRadio:
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
tunnelMetrics:
type: array
items:
$ref: '#/components/schemas/TunnelMetricData'
networkProbeMetrics:
type: array
items:
$ref: '#/components/schemas/NetworkProbeMetrics'
radiusMetrics:
type: array
items:
$ref: '#/components/schemas/RadiusMetrics'
cloudLinkAvailability:
type: integer
format: int32
cloudLinkLatencyInMs:
type: integer
format: int64
channelUtilizationPerRadio:
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
apPerformance:
$ref: '#/components/schemas/ApPerformance'
vlanSubnet:
type: array
items:
$ref: '#/components/schemas/VlanSubnet'
radioUtilizationPerRadio:
$ref: '#/components/schemas/ListOfRadioUtilizationPerRadioMap'
radioStatsPerRadio:
$ref: '#/components/schemas/RadioStatisticsPerRadioMap'
mcsStatsPerRadio:
$ref: '#/components/schemas/ListOfMcsStatsPerRadioMap'
wmmQueuesPerRadio:
$ref: '#/components/schemas/MapOfWmmQueueStatsPerRadioMap'
VlanSubnet:
properties:
subnetVlan:
type: integer
format: int32
subnetBase:
description: string representing InetAddress
type: string
subnetMask:
description: string representing InetAddress
type: string
subnetGateway:
description: string representing InetAddress
type: string
subnetDhcpServer:
description: string representing InetAddress
type: string
subnetDns1:
description: string representing InetAddress
type: string
subnetDns2:
description: string representing InetAddress
type: string
subnetDns3:
description: string representing InetAddress
type: string
ApPerformance:
properties:
freeMemory:
description: free memory in kilobytes
type: integer
format: int32
cpuUtilized:
description: CPU utilization in percentage, one per core
type: array
items:
type: integer
format: int8
upTime:
description: AP uptime in seconds
type: integer
format: int64
camiCrashed:
description: number of time cloud-to-ap-management process crashed
type: integer
format: int32
cpuTemperature:
description: cpu temperature in Celsius
type: integer
format: int32
lowMemoryReboot:
description: low memory reboot happened
type: boolean
ethLinkState:
$ref: '#/components/schemas/EthernetLinkState'
cloudTxBytes:
description: Data sent by AP to the cloud
type: integer
format: int64
cloudRxBytes:
description: Data received by AP from cloud
type: integer
format: int64
EthernetLinkState:
type: string
enum:
- DOWN
- UP1000_FULL_DUPLEX
- UP1000_HALF_DUPLEX
- UP100_FULL_DUPLEX
- UP100_HALF_DUPLEX
- UP10_FULL_DUPLEX
- UP10_HALF_DUPLEX
RadiusMetrics:
properties:
serverIp:
type: string
numberOfNoAnswer:
type: integer
format: int32
latencyMs:
$ref: '#/components/schemas/MinMaxAvgValueInt'
NetworkProbeMetrics:
properties:
vlanIF:
type: string
dhcpState:
$ref: '#/components/schemas/StateUpDownError'
dhcpLatencyMs:
type: integer
format: int64
dnsState:
$ref: '#/components/schemas/StateUpDownError'
dnsLatencyMs:
type: integer
format: int64
radiusState:
$ref: '#/components/schemas/StateUpDownError'
radiusLatencyMs:
type: integer
format: int64
dnsProbeResults:
type: array
items:
$ref: '#/components/schemas/DnsProbeMetric'
StateUpDownError:
type: string
enum:
- disabled
- enabled
- error
# The error state means it wasn't possible to determine whether the state is up or down (ie: couldn't launch a script or something).
DnsProbeMetric:
properties:
dnsServerIp:
type: string
dnsState:
$ref: '#/components/schemas/StateUpDownError'
dnsLatencyMs:
type: integer
format: int64
TunnelMetricData:
properties:
ipAddr:
description: IP address of tunnel peer
type: string
cfgTime:
description: number of seconds tunnel was configured
type: integer
format: int64
upTime:
description: number of seconds tunnel was up in current bin
type: integer
format: int64
pingsSent:
description: number of 'ping' sent in the current bin in case tunnel was DOWN
type: integer
format: int64
pingsRecvd:
description: number of 'ping' response received by peer in the current bin in case tunnel was DOWN
type: integer
format: int64
activeTun:
description: Indicates if the current tunnel is the active one
type: boolean
MapOfWmmQueueStatsPerRadioMap:
properties:
is5GHz:
$ref: '#/components/schemas/WmmQueueStatsPerQueueTypeMap'
is5GHzU:
$ref: '#/components/schemas/WmmQueueStatsPerQueueTypeMap'
is5GHzL:
$ref: '#/components/schemas/WmmQueueStatsPerQueueTypeMap'
is2dot4GHz:
$ref: '#/components/schemas/WmmQueueStatsPerQueueTypeMap'
WmmQueueType:
type: string
enum:
- BE
- BK
- VI
- VO
WmmQueueStatsPerQueueTypeMap:
properties:
BE:
$ref: '#/components/schemas/WmmQueueStats'
BK:
$ref: '#/components/schemas/WmmQueueStats'
VI:
$ref: '#/components/schemas/WmmQueueStats'
VO:
$ref: '#/components/schemas/WmmQueueStats'
WmmQueueStats:
properties:
queueType:
$ref: '#/components/schemas/WmmQueueType'
txFrames:
type: integer
format: int64
txBytes:
type: integer
format: int64
txFailedFrames:
type: integer
format: int64
txFailedBytes:
type: integer
format: int64
rxFrames:
type: integer
format: int64
rxBytes:
type: integer
format: int64
rxFailedFrames:
type: integer
format: int64
rxFailedBytes:
type: integer
format: int64
forwardFrames:
type: integer
format: int64
forwardBytes:
type: integer
format: int64
txExpiredFrames:
type: integer
format: int64
txExpiredBytes:
type: integer
format: int64
ListOfMcsStatsPerRadioMap:
properties:
is5GHz:
type: array
items:
$ref: '#/components/schemas/McsStats'
is5GHzU:
type: array
items:
$ref: '#/components/schemas/McsStats'
is5GHzL:
type: array
items:
$ref: '#/components/schemas/McsStats'
is2dot4GHz:
type: array
items:
$ref: '#/components/schemas/McsStats'
McsStats:
properties:
mcsNum:
$ref: '#/components/schemas/McsType'
txFrames:
description: The number of successfully transmitted frames at this rate. Do not count failed transmission.
type: integer
format: int32
rxFrames:
description: The number of received frames at this rate.
type: integer
format: int32
rate:
type: integer
format: int64
McsType:
description: The MCS number. This is table index.
type: string
enum:
- MCS_1# 2.4GHz only
- MCS_2# 2.4GHz only
- MCS_5dot5# 2.4GHz only
- MCS_11# 2.4GHz only
- MCS_6
- MCS_9
- MCS_12
- MCS_18
- MCS_24
- MCS_36
- MCS_48
- MCS_54
- MCS_N_0
- MCS_N_1
- MCS_N_2
- MCS_N_3
- MCS_N_4
- MCS_N_5
- MCS_N_6
- MCS_N_7
- MCS_N_8
- MCS_N_9
- MCS_N_10
- MCS_N_11
- MCS_N_12
- MCS_N_13
- MCS_N_14
- MCS_N_15
- MCS_AC_1x1_0
- MCS_AC_1x1_1
- MCS_AC_1x1_2
- MCS_AC_1x1_3
- MCS_AC_1x1_4
- MCS_AC_1x1_5
- MCS_AC_1x1_6
- MCS_AC_1x1_7
- MCS_AC_1x1_8
- MCS_AC_1x1_9
- MCS_AC_2x2_0
- MCS_AC_2x2_1
- MCS_AC_2x2_2
- MCS_AC_2x2_3
- MCS_AC_2x2_4
- MCS_AC_2x2_5
- MCS_AC_2x2_6
- MCS_AC_2x2_7
- MCS_AC_2x2_8
- MCS_AC_2x2_9
- MCS_AC_3x3_0
- MCS_AC_3x3_1
- MCS_AC_3x3_2
- MCS_AC_3x3_3
- MCS_AC_3x3_4
- MCS_AC_3x3_5
- MCS_AC_3x3_6
- MCS_AC_3x3_7
- MCS_AC_3x3_8
- MCS_AC_3x3_9
- MCS_N_16
- MCS_N_17
- MCS_N_18
- MCS_N_19
- MCS_N_20
- MCS_N_21
- MCS_N_22
- MCS_N_23
- MCS_N_24
- MCS_N_25
- MCS_N_26
- MCS_N_27
- MCS_N_28
- MCS_N_29
- MCS_N_30
- MCS_N_31
- MCS_AC_4x4_0
- MCS_AC_4x4_1
- MCS_AC_4x4_2
- MCS_AC_4x4_3
- MCS_AC_4x4_4
- MCS_AC_4x4_5
- MCS_AC_4x4_6
- MCS_AC_4x4_7
- MCS_AC_4x4_8
- MCS_AC_4x4_9
RadioStatisticsPerRadioMap:
properties:
is5GHz:
$ref: '#/components/schemas/RadioStatistics'
is5GHzU:
$ref: '#/components/schemas/RadioStatistics'
is5GHzL:
$ref: '#/components/schemas/RadioStatistics'
is2dot4GHz:
$ref: '#/components/schemas/RadioStatistics'
RadioStatistics:
properties:
numRadioResets:
description: The number of radio resets
type: integer
format: int32
numChanChanges:
description: The number of channel changes.
type: integer
format: int32
numTxPowerChanges:
description: The number of tx power changes.
type: integer
format: int32
numRadarChanChanges:
description: The number of channel changes due to radar detections.
type: integer
format: int32
numFreeTxBuf:
description: The number of free TX buffers available.
type: integer
format: int32
elevenGProtection:
description: 11g protection, 2.4GHz only.
type: integer
format: int32
numScanReq:
description: The number of scanning requests.
type: integer
format: int32
numScanSucc:
description: The number of scanning successes.
type: integer
format: int32
curEirp:
description: The Current EIRP.
type: integer
format: int32
actualCellSize:
description: Actuall Cell Size
type: array
items:
type: integer
format: int32
curChannel:
description: The current primary channel
type: integer
format: int32
curBackupChannel:
description: The current backup channel
type: integer
format: int32
rxLastRssi:
description: The RSSI of last frame received.
type: integer
format: int32
numRx:
description: The number of received frames.
type: integer
format: int32
numRxNoFcsErr:
description: The number of received frames without FCS errors.
type: integer
format: int32
numRxFcsErr:
description: The number of received frames with FCS errors.
type: integer
format: int32
numRxData:
description: The number of received data frames.
type: integer
format: int32
numRxManagement:
description: The number of received management frames.
type: integer
format: int32
numRxControl:
description: The number of received control frames.
type: integer
format: int32
rxDataBytes:
description: The number of received data frames.
type: integer
format: int64
numRxRts:
description: The number of received RTS frames.
type: integer
format: int32
numRxCts:
description: The number of received CTS frames.
type: integer
format: int32
numRxAck:
description: The number of all received ACK frames (Acks + BlockAcks).
type: integer
format: int32
numRxBeacon:
description: The number of received beacon frames.
type: integer
format: int32
numRxProbeReq:
description: The number of received probe request frames.
type: integer
format: int32
numRxProbeResp:
description: The number of received probe response frames.
type: integer
format: int32
numRxRetry:
description: The number of received retry frames.
type: integer
format: int32
numRxOffChan:
description: The number of frames received during off-channel scanning.
type: integer
format: int32
numRxDup:
description: The number of received duplicated frames.
type: integer
format: int32
numRxBcMc:
description: The number of received Broadcast/Multicast frames.
type: integer
format: int32
numRxNullData:
description: The number of received null data frames.
type: integer
format: int32
numRxPspoll:
description: The number of received ps-poll frames
type: integer
format: int32
numRxErr:
description: The number of received frames with errors.
type: integer
format: int32
numRxStbc:
description: The number of received STBC frames.
type: integer
format: int32
numRxLdpc:
description: The number of received LDPC frames.
type: integer
format: int32
numRxDropRunt:
description: The number of dropped rx frames, runt.
type: integer
format: int32
numRxDropInvalidSrcMac:
description: The number of dropped rx frames, invalid source MAC.
type: integer
format: int32
numRxDropAmsduNoRcv:
description: The number of dropped rx frames, AMSDU no receive.
type: integer
format: int32
numRxDropEthHdrRunt:
description: The number of dropped rx frames, Ethernet header runt.
type: integer
format: int32
numRxAmsduDeaggSeq:
description: The number of dropped rx frames, AMSDU deagg sequence.
type: integer
format: int32
numRxAmsduDeaggItmd:
description: The number of dropped rx frames, AMSDU deagg intermediate.
type: integer
format: int32
numRxAmsduDeaggLast:
description: The number of dropped rx frames, AMSDU deagg last.
type: integer
format: int32
numRxDropNoFcField:
description: The number of dropped rx frames, no frame control field.
type: integer
format: int64
numRxDropBadProtocol:
description: The number of dropped rx frames, bad protocol.
type: integer
format: int64
numRcvFrameForTx:
description: The number of received ethernet and local generated frames for transmit.
type: integer
format: int64
numTxQueued:
description: The number of TX frames queued.
type: integer
format: int64
numRcvBcForTx:
description: The number of received ethernet and local generated broadcast frames for transmit.
type: integer
format: int32
numTxDropped:
description: The number of every TX frame dropped.
type: integer
format: int32
numTxRetryDropped:
description: The number of TX frame dropped due to retries.
type: integer
format: int32
numTxBcDropped:
description: The number of broadcast frames dropped.
type: integer
format: int32
numTxSucc:
description: The number of frames successfully transmitted.
type: integer
format: int32
numTxPsUnicast:
description: The number of transmitted PS unicast frame.
type: integer
format: int32
numTxDtimMc:
description: The number of transmitted DTIM multicast frames.
type: integer
format: int32
numTxSuccNoRetry:
description: The number of successfully transmitted frames at firt attemp.
type: integer
format: int32
numTxSuccRetries:
description: The number of successfully transmitted frames with retries.
type: integer
format: int32
numTxMultiRetries:
description: The number of Tx frames with retries.
type: integer
format: int32
numTxManagement:
description: The number of TX management frames.
type: integer
format: int32
numTxControl:
description: The number of Tx control frames.
type: integer
format: int32
numTxAction:
description: The number of Tx action frames.
type: integer
format: int32
numTxBeaconSucc:
description: The number of successfully transmitted beacon.
type: integer
format: int32
numTxBeaconFail:
description: The number of unsuccessfully transmitted beacon.
type: integer
format: int32
numTxBeaconSuFail:
description: The number of successive beacon tx failure.
type: integer
format: int32
numTxProbeResp:
description: The number of TX probe response.
type: integer
format: int32
numTxData:
description: The number of Tx data frames.
type: integer
format: int32
numTxDataRetries:
description: The number of Tx data frames with retries.
type: integer
format: int32
numTxRtsSucc:
description: The number of RTS frames sent successfully .
type: integer
format: int32
numTxRtsFail:
description: The number of RTS frames failed transmission.
type: integer
format: int32
numTxCts:
description: The number of CTS frames sent.
type: integer
format: int32
numTxNoAck:
description: The number of TX frames failed because of not Acked.
type: integer
format: int32
numTxEapol:
description: The number of EAPOL frames sent.
type: integer
format: int32
numTxLdpc:
description: The number of total LDPC frames sent.
type: integer
format: int32
numTxStbc:
description: The number of total STBC frames sent.
type: integer
format: int32
numTxAggrSucc:
description: The number of aggregation frames sent successfully.
type: integer
format: int32
numTxAggrOneMpdu:
description: The number of aggregation frames sent using single MPDU.
type: integer
format: int32
numTxRateLimitDrop:
description: The number of Tx frames dropped because of rate limit and burst exceeded.
type: integer
format: int32
numTxRetryAttemps:
description: The number of retry tx attempts that have been made
type: integer
format: int32
numTxTotalAttemps:
description: The total number of tx attempts
type: integer
format: int32
numTxDataFrames_12_Mbps:
type: integer
format: int64
numTxDataFrames_54_Mbps:
type: integer
format: int64
numTxDataFrames_108_Mbps:
type: integer
format: int64
numTxDataFrames_300_Mbps:
type: integer
format: int64
numTxDataFrames_450_Mbps:
type: integer
format: int64
numTxDataFrames_1300_Mbps:
type: integer
format: int64
numTxDataFrames_1300Plus_Mbps:
type: integer
format: int64
numRxDataFrames_12_Mbps:
type: integer
format: int64
numRxDataFrames_54_Mbps:
type: integer
format: int64
numRxDataFrames_108_Mbps:
type: integer
format: int64
numRxDataFrames_300_Mbps:
type: integer
format: int64
numRxDataFrames_450_Mbps:
type: integer
format: int64
numRxDataFrames_1300_Mbps:
type: integer
format: int64
numRxDataFrames_1300Plus_Mbps:
type: integer
format: int64
numTxTimeFramesTransmitted:
type: integer
format: int64
numRxTimeToMe:
type: integer
format: int64
numChannelBusy64s:
type: integer
format: int64
numTxTimeData:
type: integer
format: int64
numTxTime_BC_MC_Data:
type: integer
format: int64
numRxTimeData:
type: integer
format: int64
numTxFramesTransmitted:
type: integer
format: int64
numTxSuccessWithRetry:
type: integer
format: int64
numTxMultipleRetries:
type: integer
format: int64
numTxDataTransmittedRetried:
type: integer
format: int64
numTxDataTransmitted:
type: integer
format: int64
numTxDataFrames:
type: integer
format: int64
numRxFramesReceived:
type: integer
format: int64
numRxRetryFrames:
type: integer
format: int64
numRxDataFramesRetried:
type: integer
format: int64
numRxDataFrames:
type: integer
format: int64
numTx_1_Mbps:
type: integer
format: int64
numTx_6_Mbps:
type: integer
format: int64
numTx_9_Mbps:
type: integer
format: int64
numTx_12_Mbps:
type: integer
format: int64
numTx_18_Mbps:
type: integer
format: int64
numTx_24_Mbps:
type: integer
format: int64
numTx_36_Mbps:
type: integer
format: int64
numTx_48_Mbps:
type: integer
format: int64
numTx_54_Mbps:
type: integer
format: int64
numRx_1_Mbps:
type: integer
format: int64
numRx_6_Mbps:
type: integer
format: int64
numRx_9_Mbps:
type: integer
format: int64
numRx_12_Mbps:
type: integer
format: int64
numRx_18_Mbps:
type: integer
format: int64
numRx_24_Mbps:
type: integer
format: int64
numRx_36_Mbps:
type: integer
format: int64
numRx_48_Mbps:
type: integer
format: int64
numRx_54_Mbps:
type: integer
format: int64
numTxHT_6_5_Mbps:
type: integer
format: int64
numTxHT_7_1_Mbps:
type: integer
format: int64
numTxHT_13_Mbps:
type: integer
format: int64
numTxHT_13_5_Mbps:
type: integer
format: int64
numTxHT_14_3_Mbps:
type: integer
format: int64
numTxHT_15_Mbps:
type: integer
format: int64
numTxHT_19_5_Mbps:
type: integer
format: int64
numTxHT_21_7_Mbps:
type: integer
format: int64
numTxHT_26_Mbps:
type: integer
format: int64
numTxHT_27_Mbps:
type: integer
format: int64
numTxHT_28_7_Mbps:
type: integer
format: int64
numTxHT_28_8_Mbps:
type: integer
format: int64
numTxHT_29_2_Mbps:
type: integer
format: int64
numTxHT_30_Mbps:
type: integer
format: int64
numTxHT_32_5_Mbps:
type: integer
format: int64
numTxHT_39_Mbps:
type: integer
format: int64
numTxHT_40_5_Mbps:
type: integer
format: int64
numTxHT_43_2_Mbps:
type: integer
format: int64
numTxHT_45_Mbps:
type: integer
format: int64
numTxHT_52_Mbps:
type: integer
format: int64
numTxHT_54_Mbps:
type: integer
format: int64
numTxHT_57_5_Mbps:
type: integer
format: int64
numTxHT_57_7_Mbps:
type: integer
format: int64
numTxHT_58_5_Mbps:
type: integer
format: int64
numTxHT_60_Mbps:
type: integer
format: int64
numTxHT_65_Mbps:
type: integer
format: int64
numTxHT_72_1_Mbps:
type: integer
format: int64
numTxHT_78_Mbps:
type: integer
format: int64
numTxHT_81_Mbps:
type: integer
format: int64
numTxHT_86_6_Mbps:
type: integer
format: int64
numTxHT_86_8_Mbps:
type: integer
format: int64
numTxHT_87_8_Mbps:
type: integer
format: int64
numTxHT_90_Mbps:
type: integer
format: int64
numTxHT_97_5_Mbps:
type: integer
format: int64
numTxHT_104_Mbps:
type: integer
format: int64
numTxHT_108_Mbps:
type: integer
format: int64
numTxHT_115_5_Mbps:
type: integer
format: int64
numTxHT_117_Mbps:
type: integer
format: int64
numTxHT_117_1_Mbps:
type: integer
format: int64
numTxHT_120_Mbps:
type: integer
format: int64
numTxHT_121_5_Mbps:
type: integer
format: int64
numTxHT_130_Mbps:
type: integer
format: int64
numTxHT_130_3_Mbps:
type: integer
format: int64
numTxHT_135_Mbps:
type: integer
format: int64
numTxHT_144_3_Mbps:
type: integer
format: int64
numTxHT_150_Mbps:
type: integer
format: int64
numTxHT_156_Mbps:
type: integer
format: int64
numTxHT_162_Mbps:
type: integer
format: int64
numTxHT_173_1_Mbps:
type: integer
format: int64
numTxHT_173_3_Mbps:
type: integer
format: int64
numTxHT_175_5_Mbps:
type: integer
format: int64
numTxHT_180_Mbps:
type: integer
format: int64
numTxHT_195_Mbps:
type: integer
format: int64
numTxHT_200_Mbps:
type: integer
format: int64
numTxHT_208_Mbps:
type: integer
format: int64
numTxHT_216_Mbps:
type: integer
format: int64
numTxHT_216_6_Mbps:
type: integer
format: int64
numTxHT_231_1_Mbps:
type: integer
format: int64
numTxHT_234_Mbps:
type: integer
format: int64
numTxHT_240_Mbps:
type: integer
format: int64
numTxHT_243_Mbps:
type: integer
format: int64
numTxHT_260_Mbps:
type: integer
format: int64
numTxHT_263_2_Mbps:
type: integer
format: int64
numTxHT_270_Mbps:
type: integer
format: int64
numTxHT_288_7_Mbps:
type: integer
format: int64
numTxHT_288_8_Mbps:
type: integer
format: int64
numTxHT_292_5_Mbps:
type: integer
format: int64
numTxHT_300_Mbps:
type: integer
format: int64
numTxHT_312_Mbps:
type: integer
format: int64
numTxHT_324_Mbps:
type: integer
format: int64
numTxHT_325_Mbps:
type: integer
format: int64
numTxHT_346_7_Mbps:
type: integer
format: int64
numTxHT_351_Mbps:
type: integer
format: int64
numTxHT_351_2_Mbps:
type: integer
format: int64
numTxHT_360_Mbps:
type: integer
format: int64
numRxHT_6_5_Mbps:
type: integer
format: int64
numRxHT_7_1_Mbps:
type: integer
format: int64
numRxHT_13_Mbps:
type: integer
format: int64
numRxHT_13_5_Mbps:
type: integer
format: int64
numRxHT_14_3_Mbps:
type: integer
format: int64
numRxHT_15_Mbps:
type: integer
format: int64
numRxHT_19_5_Mbps:
type: integer
format: int64
numRxHT_21_7_Mbps:
type: integer
format: int64
numRxHT_26_Mbps:
type: integer
format: int64
numRxHT_27_Mbps:
type: integer
format: int64
numRxHT_28_7_Mbps:
type: integer
format: int64
numRxHT_28_8_Mbps:
type: integer
format: int64
numRxHT_29_2_Mbps:
type: integer
format: int64
numRxHT_30_Mbps:
type: integer
format: int64
numRxHT_32_5_Mbps:
type: integer
format: int64
numRxHT_39_Mbps:
type: integer
format: int64
numRxHT_40_5_Mbps:
type: integer
format: int64
numRxHT_43_2_Mbps:
type: integer
format: int64
numRxHT_45_Mbps:
type: integer
format: int64
numRxHT_52_Mbps:
type: integer
format: int64
numRxHT_54_Mbps:
type: integer
format: int64
numRxHT_57_5_Mbps:
type: integer
format: int64
numRxHT_57_7_Mbps:
type: integer
format: int64
numRxHT_58_5_Mbps:
type: integer
format: int64
numRxHT_60_Mbps:
type: integer
format: int64
numRxHT_65_Mbps:
type: integer
format: int64
numRxHT_72_1_Mbps:
type: integer
format: int64
numRxHT_78_Mbps:
type: integer
format: int64
numRxHT_81_Mbps:
type: integer
format: int64
numRxHT_86_6_Mbps:
type: integer
format: int64
numRxHT_86_8_Mbps:
type: integer
format: int64
numRxHT_87_8_Mbps:
type: integer
format: int64
numRxHT_90_Mbps:
type: integer
format: int64
numRxHT_97_5_Mbps:
type: integer
format: int64
numRxHT_104_Mbps:
type: integer
format: int64
numRxHT_108_Mbps:
type: integer
format: int64
numRxHT_115_5_Mbps:
type: integer
format: int64
numRxHT_117_Mbps:
type: integer
format: int64
numRxHT_117_1_Mbps:
type: integer
format: int64
numRxHT_120_Mbps:
type: integer
format: int64
numRxHT_121_5_Mbps:
type: integer
format: int64
numRxHT_130_Mbps:
type: integer
format: int64
numRxHT_130_3_Mbps:
type: integer
format: int64
numRxHT_135_Mbps:
type: integer
format: int64
numRxHT_144_3_Mbps:
type: integer
format: int64
numRxHT_150_Mbps:
type: integer
format: int64
numRxHT_156_Mbps:
type: integer
format: int64
numRxHT_162_Mbps:
type: integer
format: int64
numRxHT_173_1_Mbps:
type: integer
format: int64
numRxHT_173_3_Mbps:
type: integer
format: int64
numRxHT_175_5_Mbps:
type: integer
format: int64
numRxHT_180_Mbps:
type: integer
format: int64
numRxHT_195_Mbps:
type: integer
format: int64
numRxHT_200_Mbps:
type: integer
format: int64
numRxHT_208_Mbps:
type: integer
format: int64
numRxHT_216_Mbps:
type: integer
format: int64
numRxHT_216_6_Mbps:
type: integer
format: int64
numRxHT_231_1_Mbps:
type: integer
format: int64
numRxHT_234_Mbps:
type: integer
format: int64
numRxHT_240_Mbps:
type: integer
format: int64
numRxHT_243_Mbps:
type: integer
format: int64
numRxHT_260_Mbps:
type: integer
format: int64
numRxHT_263_2_Mbps:
type: integer
format: int64
numRxHT_270_Mbps:
type: integer
format: int64
numRxHT_288_7_Mbps:
type: integer
format: int64
numRxHT_288_8_Mbps:
type: integer
format: int64
numRxHT_292_5_Mbps:
type: integer
format: int64
numRxHT_300_Mbps:
type: integer
format: int64
numRxHT_312_Mbps:
type: integer
format: int64
numRxHT_324_Mbps:
type: integer
format: int64
numRxHT_325_Mbps:
type: integer
format: int64
numRxHT_346_7_Mbps:
type: integer
format: int64
numRxHT_351_Mbps:
type: integer
format: int64
numRxHT_351_2_Mbps:
type: integer
format: int64
numRxHT_360_Mbps:
type: integer
format: int64
numTxVHT_292_5_Mbps:
type: integer
format: int64
numTxVHT_325_Mbps:
type: integer
format: int64
numTxVHT_364_5_Mbps:
type: integer
format: int64
numTxVHT_390_Mbps:
type: integer
format: int64
numTxVHT_400_Mbps:
type: integer
format: int64
numTxVHT_403_Mbps:
type: integer
format: int64
numTxVHT_405_Mbps:
type: integer
format: int64
numTxVHT_432_Mbps:
type: integer
format: int64
numTxVHT_433_2_Mbps:
type: integer
format: int64
numTxVHT_450_Mbps:
type: integer
format: int64
numTxVHT_468_Mbps:
type: integer
format: int64
numTxVHT_480_Mbps:
type: integer
format: int64
numTxVHT_486_Mbps:
type: integer
format: int64
numTxVHT_520_Mbps:
type: integer
format: int64
numTxVHT_526_5_Mbps:
type: integer
format: int64
numTxVHT_540_Mbps:
type: integer
format: int64
numTxVHT_585_Mbps:
type: integer
format: int64
numTxVHT_600_Mbps:
type: integer
format: int64
numTxVHT_648_Mbps:
type: integer
format: int64
numTxVHT_650_Mbps:
type: integer
format: int64
numTxVHT_702_Mbps:
type: integer
format: int64
numTxVHT_720_Mbps:
type: integer
format: int64
numTxVHT_780_Mbps:
type: integer
format: int64
numTxVHT_800_Mbps:
type: integer
format: int64
numTxVHT_866_7_Mbps:
type: integer
format: int64
numTxVHT_877_5_Mbps:
type: integer
format: int64
numTxVHT_936_Mbps:
type: integer
format: int64
numTxVHT_975_Mbps:
type: integer
format: int64
numTxVHT_1040_Mbps:
type: integer
format: int64
numTxVHT_1053_Mbps:
type: integer
format: int64
numTxVHT_1053_1_Mbps:
type: integer
format: int64
numTxVHT_1170_Mbps:
type: integer
format: int64
numTxVHT_1300_Mbps:
type: integer
format: int64
numTxVHT_1404_Mbps:
type: integer
format: int64
numTxVHT_1560_Mbps:
type: integer
format: int64
numTxVHT_1579_5_Mbps:
type: integer
format: int64
numTxVHT_1733_1_Mbps:
type: integer
format: int64
numTxVHT_1733_4_Mbps:
type: integer
format: int64
numTxVHT_1755_Mbps:
type: integer
format: int64
numTxVHT_1872_Mbps:
type: integer
format: int64
numTxVHT_1950_Mbps:
type: integer
format: int64
numTxVHT_2080_Mbps:
type: integer
format: int64
numTxVHT_2106_Mbps:
type: integer
format: int64
numTxVHT_2340_Mbps:
type: integer
format: int64
numTxVHT_2600_Mbps:
type: integer
format: int64
numTxVHT_2808_Mbps:
type: integer
format: int64
numTxVHT_3120_Mbps:
type: integer
format: int64
numTxVHT_3466_8_Mbps:
type: integer
format: int64
numRxVHT_292_5_Mbps:
type: integer
format: int64
numRxVHT_325_Mbps:
type: integer
format: int64
numRxVHT_364_5_Mbps:
type: integer
format: int64
numRxVHT_390_Mbps:
type: integer
format: int64
numRxVHT_400_Mbps:
type: integer
format: int64
numRxVHT_403_Mbps:
type: integer
format: int64
numRxVHT_405_Mbps:
type: integer
format: int64
numRxVHT_432_Mbps:
type: integer
format: int64
numRxVHT_433_2_Mbps:
type: integer
format: int64
numRxVHT_450_Mbps:
type: integer
format: int64
numRxVHT_468_Mbps:
type: integer
format: int64
numRxVHT_480_Mbps:
type: integer
format: int64
numRxVHT_486_Mbps:
type: integer
format: int64
numRxVHT_520_Mbps:
type: integer
format: int64
numRxVHT_526_5_Mbps:
type: integer
format: int64
numRxVHT_540_Mbps:
type: integer
format: int64
numRxVHT_585_Mbps:
type: integer
format: int64
numRxVHT_600_Mbps:
type: integer
format: int64
numRxVHT_648_Mbps:
type: integer
format: int64
numRxVHT_650_Mbps:
type: integer
format: int64
numRxVHT_702_Mbps:
type: integer
format: int64
numRxVHT_720_Mbps:
type: integer
format: int64
numRxVHT_780_Mbps:
type: integer
format: int64
numRxVHT_800_Mbps:
type: integer
format: int64
numRxVHT_866_7_Mbps:
type: integer
format: int64
numRxVHT_877_5_Mbps:
type: integer
format: int64
numRxVHT_936_Mbps:
type: integer
format: int64
numRxVHT_975_Mbps:
type: integer
format: int64
numRxVHT_1040_Mbps:
type: integer
format: int64
numRxVHT_1053_Mbps:
type: integer
format: int64
numRxVHT_1053_1_Mbps:
type: integer
format: int64
numRxVHT_1170_Mbps:
type: integer
format: int64
numRxVHT_1300_Mbps:
type: integer
format: int64
numRxVHT_1404_Mbps:
type: integer
format: int64
numRxVHT_1560_Mbps:
type: integer
format: int64
numRxVHT_1579_5_Mbps:
type: integer
format: int64
numRxVHT_1733_1_Mbps:
type: integer
format: int64
numRxVHT_1733_4_Mbps:
type: integer
format: int64
numRxVHT_1755_Mbps:
type: integer
format: int64
numRxVHT_1872_Mbps:
type: integer
format: int64
numRxVHT_1950_Mbps:
type: integer
format: int64
numRxVHT_2080_Mbps:
type: integer
format: int64
numRxVHT_2106_Mbps:
type: integer
format: int64
numRxVHT_2340_Mbps:
type: integer
format: int64
numRxVHT_2600_Mbps:
type: integer
format: int64
numRxVHT_2808_Mbps:
type: integer
format: int64
numRxVHT_3120_Mbps:
type: integer
format: int64
numRxVHT_3466_8_Mbps:
type: integer
format: int64
ListOfRadioUtilizationPerRadioMap:
properties:
is5GHz:
type: array
items:
$ref: '#/components/schemas/RadioUtilization'
is5GHzU:
type: array
items:
$ref: '#/components/schemas/RadioUtilization'
is5GHzL:
type: array
items:
$ref: '#/components/schemas/RadioUtilization'
is2dot4GHz:
type: array
items:
$ref: '#/components/schemas/RadioUtilization'
RadioUtilization:
properties:
assocClientTx:
type: integer
format: int32
unassocClientTx:
type: integer
format: int32
assocClientRx:
type: integer
format: int32
unassocClientRx:
type: integer
format: int32
nonWifi:
type: integer
format: int32
timestampSeconds:
type: integer
format: int32
ibss:
type: number
format: double
unAvailableCapacity:
type: number
format: double
ListOfMacsPerRadioMap:
properties:
is5GHz:
type: array
items:
$ref: '#/components/schemas/MacAddress'
is5GHzU:
type: array
items:
$ref: '#/components/schemas/MacAddress'
is5GHzL:
type: array
items:
$ref: '#/components/schemas/MacAddress'
is2dot4GHz:
type: array
items:
$ref: '#/components/schemas/MacAddress'
#
# System Event Data Models
#
SystemEventDataType:
type: string
enum:
- GatewayAddedEvent
- GatewayChangedEvent
- GatewayRemovedEvent
- ClientAddedEvent
- ClientChangedEvent
- ClientRemovedEvent
- CustomerAddedEvent
- CustomerChangedEvent
- CustomerRemovedEvent
- FirmwareAddedEvent
- FirmwareChangedEvent
- FirmwareRemovedEvent
- LocationAddedEvent
- LocationChangedEvent
- LocationRemovedEvent
- PortalUserAddedEvent
- PortalUserChangedEvent
- PortalUserRemovedEvent
- ProfileAddedEvent
- ProfileChangedEvent
- ProfileRemovedEvent
- RoutingAddedEvent
- RoutingChangedEvent
- RoutingRemovedEvent
- AlarmAddedEvent
- AlarmChangedEvent
- AlarmRemovedEvent
- ClientSessionAddedEvent
- ClientSessionChangedEvent
- ClientSessionRemovedEvent
- EquipmentAddedEvent
- EquipmentChangedEvent
- EquipmentRemovedEvent
- StatusChangedEvent
- StatusRemovedEvent
- UnserializableSystemEvent
SystemEventRecord:
type: object
properties:
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
dataType:
$ref: '#/components/schemas/SystemEventDataType'
eventTimestamp:
type: integer
format: int64
details:
$ref: '#/components/schemas/SystemEvent'
SystemEvent:
oneOf:
- $ref: '#/components/schemas/GatewayAddedEvent'
- $ref: '#/components/schemas/GatewayChangedEvent'
- $ref: '#/components/schemas/GatewayRemovedEvent'
- $ref: '#/components/schemas/ClientAddedEvent'
- $ref: '#/components/schemas/ClientChangedEvent'
- $ref: '#/components/schemas/ClientRemovedEvent'
- $ref: '#/components/schemas/CustomerAddedEvent'
- $ref: '#/components/schemas/CustomerChangedEvent'
- $ref: '#/components/schemas/CustomerRemovedEvent'
#TODO: add this - $ref: '#/components/schemas/FirmwareAddedEvent'
#TODO: add this - $ref: '#/components/schemas/FirmwareChangedEvent'
#TODO: add this - $ref: '#/components/schemas/FirmwareRemovedEvent'
- $ref: '#/components/schemas/LocationAddedEvent'
- $ref: '#/components/schemas/LocationChangedEvent'
- $ref: '#/components/schemas/LocationRemovedEvent'
- $ref: '#/components/schemas/PortalUserAddedEvent'
- $ref: '#/components/schemas/PortalUserChangedEvent'
- $ref: '#/components/schemas/PortalUserRemovedEvent'
- $ref: '#/components/schemas/ProfileAddedEvent'
- $ref: '#/components/schemas/ProfileChangedEvent'
- $ref: '#/components/schemas/ProfileRemovedEvent'
- $ref: '#/components/schemas/RoutingAddedEvent'
- $ref: '#/components/schemas/RoutingChangedEvent'
- $ref: '#/components/schemas/RoutingRemovedEvent'
- $ref: '#/components/schemas/AlarmAddedEvent'
- $ref: '#/components/schemas/AlarmChangedEvent'
- $ref: '#/components/schemas/AlarmRemovedEvent'
- $ref: '#/components/schemas/ClientSessionChangedEvent'
- $ref: '#/components/schemas/ClientSessionRemovedEvent'
- $ref: '#/components/schemas/EquipmentAddedEvent'
- $ref: '#/components/schemas/EquipmentChangedEvent'
- $ref: '#/components/schemas/EquipmentRemovedEvent'
- $ref: '#/components/schemas/StatusChangedEvent'
- $ref: '#/components/schemas/StatusRemovedEvent'
- $ref: '#/components/schemas/UnserializableSystemEvent'
discriminator:
propertyName: model_type
GatewayAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
gateway:
$ref: '#/components/schemas/EquipmentGatewayRecord'
GatewayChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
gateway:
$ref: '#/components/schemas/EquipmentGatewayRecord'
GatewayRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
gateway:
$ref: '#/components/schemas/EquipmentGatewayRecord'
RoutingAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/EquipmentRoutingRecord'
RoutingChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/EquipmentRoutingRecord'
RoutingRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/EquipmentRoutingRecord'
ClientAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Client'
ClientChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Client'
ClientRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Client'
ClientSessionChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/ClientSession'
ClientSessionRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/ClientSession'
CustomerAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Customer'
CustomerChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Customer'
CustomerRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Customer'
LocationAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Location'
LocationChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Location'
LocationRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Location'
EquipmentAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Equipment'
EquipmentChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Equipment'
EquipmentRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Equipment'
AlarmAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Alarm'
AlarmChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Alarm'
AlarmRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Alarm'
PortalUserAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/PortalUser'
PortalUserChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/PortalUser'
PortalUserRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/PortalUser'
ProfileAddedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Profile'
ProfileChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Profile'
ProfileRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
payload:
$ref: '#/components/schemas/Profile'
StatusChangedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Status'
StatusRemovedEvent:
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
$ref: '#/components/schemas/Status'
UnserializableSystemEvent:
description: This event is used in situations when the cloud cannot parse the event that was previously stored in the DB, used to cover upgrade scenarios.
properties:
eventTimestamp:
type: integer
format: int64
customerId:
type: integer
format: int32
equipmentId:
type: integer
format: int64
payload:
type: string
#
# Equipment Routing Models
#
EquipmentRoutingRecord:
properties:
id:
type: integer
format: int64
equipmentId:
type: integer
format: int64
customerId:
type: integer
format: int32
gatewayId:
type: integer
format: int64
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
type: integer
format: int64
EquipmentGatewayRecord:
properties:
id:
type: integer
format: int64
hostname:
type: string
ipAddr:
type: string
port:
type: integer
format: int64
gatewayType:
$ref: '#/components/schemas/GatewayType'
createdTimeStamp:
type: integer
format: int64
lastModifiedTimestamp:
type: integer
format: int64
GatewayType:
type: string
enum:
- CEGW
- CNAGW
#
# Objects related to Firmware Management
#
FirmwareVersion:
properties:
id:
type: integer
format: int64
equipmentType:
$ref: '#/components/schemas/EquipmentType'
modelId:
type: string
description: equipment model
versionName:
type: string
description:
type: string
filename:
type: string
commit:
type: string
description: commit number for the firmware image, from the source control system
validationMethod:
$ref: '#/components/schemas/FirmwareValidationMethod'
validationCode:
type: string
description: firmware digest code, depending on validation method - MD5, etc.
releaseDate:
type: integer
format: int64
description: release date of the firmware image, in ms epoch time
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
FirmwareValidationMethod:
type: string
enum:
- MD5_CHECKSUM
FirmwareTrackRecord:
properties:
recordId:
type: integer
format: int32
trackName:
type: string
maintenanceWindow:
$ref: '#/components/schemas/FirmwareScheduleSetting'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
FirmwareTrackAssignmentRecord:
properties:
trackRecordId:
type: integer
format: int64
firmwareVersionRecordId:
type: integer
format: int64
defaultRevisionForTrack:
type: boolean
default: false
deprecated:
type: boolean
default: false
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
FirmwareTrackAssignmentDetails:
allOf:
- $ref: '#/components/schemas/FirmwareTrackAssignmentRecord'
required:
- model_type
- trackRecordId
- firmwareVersionRecordId
- defaultRevisionForTrack
- deprecated
- lastModifiedTimestamp
properties:
equipmentType:
$ref: '#/components/schemas/EquipmentType'
modelId:
type: string
description: equipment model
versionName:
type: string
description:
type: string
commit:
type: string
description: commit number for the firmware image, from the source control system
releaseDate:
type: integer
format: int64
description: release date of the firmware image, in ms epoch time
CustomerFirmwareTrackSettings:
properties:
autoUpgradeDeprecatedOnBind:
$ref: '#/components/schemas/TrackFlag'
autoUpgradeUnknownOnBind:
$ref: '#/components/schemas/TrackFlag'
autoUpgradeDeprecatedDuringMaintenance:
$ref: '#/components/schemas/TrackFlag'
autoUpgradeUnknownDuringMaintenance:
$ref: '#/components/schemas/TrackFlag'
TrackFlag:
type: string
default: DEFAULT
enum:
- ALWAYS
- NEVER
- DEFAULT
CustomerFirmwareTrackRecord:
properties:
customerId:
type: integer
format: int32
trackRecordId:
type: integer
format: int64
settings:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
ManufacturerDetailsRecord:
properties:
id:
type: integer
format: int64
manufacturerName:
type: string
manufacturerAlias:
type: string
createdTimestamp:
type: integer
format: int64
lastModifiedTimestamp:
description: must be provided for update operation, update will be rejected if provided value does not match the one currently stored in the database
type: integer
format: int64
ManufacturerOuiDetails:
properties:
oui:
description: first 3 bytes of MAC address, expressed as a string like '1a2b3c'
type: string
manufacturerName:
type: string
manufacturerAlias:
type: string
ManufacturerOuiDetailsPerOuiMap:
additionalProperties:
$ref: '#/components/schemas/ManufacturerOuiDetails'
#
# Objects related to service adoption metrics
#
ServiceAdoptionMetrics:
properties:
year:
type: integer
format: int32
month:
type: integer
format: int32
weekOfYear:
type: integer
format: int32
dayOfYear:
type: integer
format: int32
customerId:
type: integer
format: int32
locationId:
type: integer
format: int64
equipmentId:
type: integer
format: int64
numUniqueConnectedMacs:
description: number of unique connected MAC addresses for the data point. Note - this number is accurate only at the lowest level of granularity - per AP per day. In case of aggregations - per location/customer or per week/month - this number is just a sum of corresponding datapoints, and it does not account for non-unique MACs in those cases.
type: integer
format: int64
numBytesUpstream:
type: integer
format: int64
numBytesDownstream:
type: integer
format: int64
#
# Objects related to pagination
#
SortOrder:
type: string
default: asc
enum:
- asc
- desc
SortColumnsLocation:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: id
enum:
- id
- name
sortOrder:
$ref: '#/components/schemas/SortOrder'
example:
model_type: ColumnAndSort
columnName: id
sortOrder: asc
PaginationContextLocation:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseLocation:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Location'
context:
$ref: '#/components/schemas/PaginationContextLocation'
SortColumnsEquipment:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: id
enum:
- id
- name
- profileId
- locationId
- equipmentType
- inventoryId
sortOrder:
$ref: '#/components/schemas/SortOrder'
PaginationContextEquipment:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseEquipment:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Equipment'
context:
$ref: '#/components/schemas/PaginationContextEquipment'
SortColumnsProfile:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: id
enum:
- id
- name
sortOrder:
$ref: '#/components/schemas/SortOrder'
PaginationContextProfile:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseProfile:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Profile'
context:
$ref: '#/components/schemas/PaginationContextProfile'
SortColumnsPortalUser:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: id
enum:
- id
- username
sortOrder:
$ref: '#/components/schemas/SortOrder'
PaginationContextPortalUser:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponsePortalUser:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/PortalUser'
context:
$ref: '#/components/schemas/PaginationContextPortalUser'
SortColumnsStatus:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: id
enum:
- customerId
- equipmentId
sortOrder:
$ref: '#/components/schemas/SortOrder'
PaginationContextStatus:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseStatus:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Status'
context:
$ref: '#/components/schemas/PaginationContextStatus'
SortColumnsClientSession:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: id
enum:
- customerId
- equipmentId
- macAddress
sortOrder:
$ref: '#/components/schemas/SortOrder'
PaginationContextClientSession:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseClientSession:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ClientSession'
context:
$ref: '#/components/schemas/PaginationContextClientSession'
SortColumnsAlarm:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: id
enum:
- equipmentId
- alarmCode
- createdTimestamp
sortOrder:
$ref: '#/components/schemas/SortOrder'
example:
model_type: ColumnAndSort
columnName: id
sortOrder: asc
PaginationContextAlarm:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseAlarm:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Alarm'
context:
$ref: '#/components/schemas/PaginationContextAlarm'
SortColumnsServiceMetric:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: createdTimestamp
enum:
- equipmentId
- clientMac
- dataType
- createdTimestamp
sortOrder:
$ref: '#/components/schemas/SortOrder'
example:
model_type: ColumnAndSort
columnName: equipmentId
sortOrder: asc
PaginationContextServiceMetric:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseServiceMetric:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ServiceMetric'
context:
$ref: '#/components/schemas/PaginationContextServiceMetric'
SortColumnsSystemEvent:
type: object
required:
- model_type
- columnName
- sortOrder
properties:
model_type:
type: string
enum:
- ColumnAndSort
columnName:
type: string
default: equipmentId
enum:
- equipmentId
- dataType
- createdTimestamp
sortOrder:
$ref: '#/components/schemas/SortOrder'
example:
model_type: ColumnAndSort
columnName: equipmentId
sortOrder: asc
PaginationContextSystemEvent:
type: object
required:
- maxItemsPerPage
properties:
model_type:
type: string
enum:
- PaginationContext
maxItemsPerPage:
type: integer
format: int32
default: 20
lastReturnedPageNumber:
type: integer
format: int32
totalItemsReturned:
type: integer
format: int32
lastPage:
type: boolean
cursor:
type: string
example:
model_type: PaginationContext
maxItemsPerPage: 10
PaginationResponseSystemEvent:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SystemEventRecord'
context:
$ref: '#/components/schemas/PaginationContextSystemEvent'
## ---------------------------------------------------------------------------
security:
- tip_wlan_ts_auth: []
paths:
/management/v1/oauth2/token:
post:
tags:
- Login
summary: Get access token - to be used as Bearer token header for all other API requests.
operationId: getAccessToken
requestBody:
description: User id and password
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WebTokenRequest'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/WebTokenResult'
500:
$ref: '#/components/responses/GenericApiError'
/portal/customer:
get:
tags:
- Customer
summary: Get Customer By Id
operationId: getCustomerById
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Customer
summary: Update Customer
operationId: updateCustomer
requestBody:
description: customer info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
500:
$ref: '#/components/responses/GenericApiError'
/portal/location:
post:
tags:
- Location
summary: Create new Location
operationId: createLocation
requestBody:
description: location info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Location
summary: Get Location By Id
operationId: getLocationById
parameters:
- name: locationId
in: query
description: location id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Location
summary: Update Location
operationId: updateLocation
requestBody:
description: location info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Location
summary: Delete Location
operationId: deleteLocation
parameters:
- name: locationId
in: query
description: location id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
500:
$ref: '#/components/responses/GenericApiError'
/portal/location/inSet:
get:
tags:
- Location
summary: Get Locations By a set of ids
operationId: getLocationBySetOfIds
parameters:
- name: locationIdSet
in: query
description: set of location ids
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Location'
500:
$ref: '#/components/responses/GenericApiError'
/portal/location/forCustomer:
get:
tags:
- Location
summary: Get Locations By customerId
operationId: getLocationsByCustomerId
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int64
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsLocation'
# content:
# application/json:
# schema:
# type: array
# items:
# $ref: #/components/schemas/SortColumnsLocation
# examples:
# nameAsc:
# summary: An example of a sort by name ascending
# value:
# model_type: ColumnAndSort
# columnName: name
# sortOrder: asc
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextLocation'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseLocation'
500:
$ref: '#/components/responses/GenericApiError'
/portal/equipment:
post:
tags:
- Equipment
summary: Create new Equipment
operationId: createEquipment
requestBody:
description: equipment info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Equipment'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Equipment'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Equipment
summary: Get Equipment By Id
operationId: getEquipmentById
parameters:
- name: equipmentId
in: query
description: equipment id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Equipment'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Equipment
summary: Update Equipment
operationId: updateEquipment
requestBody:
description: equipment info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Equipment'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Equipment'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Equipment
summary: Delete Equipment
operationId: deleteEquipment
parameters:
- name: equipmentId
in: query
description: equipment id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Equipment'
500:
$ref: '#/components/responses/GenericApiError'
/portal/equipment/rrmBulk:
put:
tags:
- Equipment
summary: Update RRM related properties of Equipment in bulk
operationId: updateEquipmentRrmBulk
requestBody:
description: Equipment RRM bulk update request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EquipmentRrmBulkUpdateRequest'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
500:
$ref: '#/components/responses/GenericApiError'
/portal/equipment/inSet:
get:
tags:
- Equipment
summary: Get Equipment By a set of ids
operationId: getEquipmentBySetOfIds
parameters:
- name: equipmentIdSet
in: query
description: set of equipment ids
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Equipment'
500:
$ref: '#/components/responses/GenericApiError'
/portal/equipment/forCustomer:
get:
tags:
- Equipment
summary: Get Equipment By customerId
operationId: getEquipmentByCustomerId
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int64
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsEquipment'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextEquipment'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseEquipment'
500:
$ref: '#/components/responses/GenericApiError'
/portal/equipment/forCustomerWithFilter:
get:
tags:
- Equipment
summary: Get Equipment for customerId, equipment type, and location id
operationId: getEquipmentByCustomerWithFilter
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int64
- name: equipmentType
in: query
schema:
$ref: '#/components/schemas/EquipmentType'
- name: locationIds
in: query
description: set of location ids
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsEquipment'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextEquipment'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseEquipment'
500:
$ref: '#/components/responses/GenericApiError'
/portal/equipment/defaultDetails:
get:
tags:
- Equipment
summary: Get default values for Equipment details for a specific equipment type
operationId: getDefaultEquipmentDetails
parameters:
- name: equipmentType
in: query
schema:
$ref: '#/components/schemas/EquipmentType'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/EquipmentDetails'
500:
$ref: '#/components/responses/GenericApiError'
/portal/profile:
post:
tags:
- Profile
summary: Create new Profile
operationId: createProfile
requestBody:
description: profile info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Profile
summary: Get Profile By Id
operationId: getProfileById
parameters:
- name: profileId
in: query
description: profile id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Profile
summary: Update Profile
operationId: updateProfile
requestBody:
description: profile info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Profile
summary: Delete Profile
operationId: deleteProfile
parameters:
- name: profileId
in: query
description: profile id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
500:
$ref: '#/components/responses/GenericApiError'
/portal/profile/inSet:
get:
tags:
- Profile
summary: Get Profiles By a set of ids
operationId: getProfilesBySetOfIds
parameters:
- name: profileIdSet
in: query
description: set of profile ids
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Profile'
500:
$ref: '#/components/responses/GenericApiError'
/portal/profile/forCustomer:
get:
tags:
- Profile
summary: Get Profiles By customerId
operationId: getProfilesByCustomerId
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int64
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsProfile'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextProfile'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseProfile'
500:
$ref: '#/components/responses/GenericApiError'
/portal/profile/withChildren:
get:
tags:
- Profile
summary: Get Profile and all its associated children
operationId: getProfileWithChildren
parameters:
- name: profileId
in: query
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Profile'
500:
$ref: '#/components/responses/GenericApiError'
/portal/profile/equipmentCounts:
get:
tags:
- Profile
summary: Get counts of equipment that use specified profiles
operationId: getCountsOfEquipmentThatUseProfiles
parameters:
- name: profileIdSet
in: query
description: set of profile ids
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PairLongLong'
500:
$ref: '#/components/responses/GenericApiError'
/portal/portalUser:
post:
tags:
- Portal Users
summary: Create new Portal User
operationId: createPortalUser
requestBody:
description: portal user info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUser'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUser'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Portal Users
summary: Get portal user By Id
operationId: getPortalUserById
parameters:
- name: portalUserId
in: query
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUser'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Portal Users
summary: Update PortalUser
operationId: updatePortalUser
requestBody:
description: PortalUser info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUser'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUser'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Portal Users
summary: Delete PortalUser
operationId: deletePortalUser
parameters:
- name: portalUserId
in: query
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUser'
500:
$ref: '#/components/responses/GenericApiError'
/portal/portalUser/inSet:
get:
tags:
- Portal Users
summary: Get PortalUsers By a set of ids
operationId: getPortalUsersBySetOfIds
parameters:
- name: portalUserIdSet
in: query
description: set of portalUser ids
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PortalUser'
500:
$ref: '#/components/responses/GenericApiError'
/portal/portalUser/forCustomer:
get:
tags:
- Portal Users
summary: Get PortalUsers By customerId
operationId: getPortalUsersByCustomerId
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int64
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsPortalUser'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextPortalUser'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponsePortalUser'
500:
$ref: '#/components/responses/GenericApiError'
/portal/portalUser/byUsernameOrNull:
get:
tags:
- Portal Users
summary: Get portal user by user name
operationId: getPortalUserByUsername
parameters:
- name: customerId
in: query
required: true
schema:
type: integer
format: int32
- name: username
in: query
required: true
schema:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUser'
500:
$ref: '#/components/responses/GenericApiError'
/portal/status/forCustomer:
get:
tags:
- Status
summary: Get all Status objects By customerId
operationId: getStatusByCustomerId
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsStatus'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextStatus'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseStatus'
500:
$ref: '#/components/responses/GenericApiError'
/portal/status/forCustomerWithFilter:
get:
tags:
- Status
summary: Get list of Statuses for customerId, set of equipment ids, and set of status data types.
operationId: getStatusByCustomerWithFilter
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: Set of equipment ids. Empty or null means retrieve all equipment for the customer.
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: statusDataTypes
in: query
description: Set of status data types. Empty or null means retrieve all data types.
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/StatusDataType'
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsStatus'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextStatus'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseStatus'
500:
$ref: '#/components/responses/GenericApiError'
/portal/status/forEquipment:
get:
tags:
- Status
summary: Get all Status objects for a given customer equipment.
operationId: getStatusByCustomerEquipment
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentId
in: query
description: Equipment id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Status'
500:
$ref: '#/components/responses/GenericApiError'
/portal/status/forEquipmentWithFilter:
get:
tags:
- Status
summary: Get Status objects for a given customer equipment ids and status data types.
operationId: getStatusByCustomerEquipmentWithFilter
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: Set of equipment ids. Must not be empty or null.
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: statusDataTypes
in: query
description: Set of status data types. Empty or null means retrieve all data types.
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/StatusDataType'
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Status'
500:
$ref: '#/components/responses/GenericApiError'
/portal/client/session/forCustomer:
get:
tags:
- Clients
summary: Get list of Client sessions for customerId and a set of equipment/location ids. Equipment and locations filters are joined using logical AND operation.
operationId: getClientSessionByCustomerWithFilter
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: set of equipment ids. Empty or null means retrieve all equipment for the customer.
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: locationIds
in: query
description: set of location ids. Empty or null means retrieve for all locations for the customer.
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsClientSession'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextClientSession'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseClientSession'
500:
$ref: '#/components/responses/GenericApiError'
/portal/client/session/inSet:
get:
tags:
- Clients
summary: Get list of Client sessions for customerId and a set of client MAC addresses.
operationId: getAllClientSessionsInSet
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: clientMacs
in: query
description: Set of client MAC addresses.
required: true
content:
text/plain:
schema:
type: array
items:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ClientSession'
500:
$ref: '#/components/responses/GenericApiError'
/portal/client/inSet:
get:
tags:
- Clients
summary: Get list of Clients for customerId and a set of client MAC addresses.
operationId: getAllClientsInSet
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: clientMacs
in: query
description: Set of client MAC addresses.
required: true
content:
text/plain:
schema:
type: array
items:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Client'
500:
$ref: '#/components/responses/GenericApiError'
/portal/client/blocked:
get:
tags:
- Clients
summary: Retrieves a list of Clients for the customer that are marked as blocked. This per-customer list of blocked clients is pushed to every AP, so it has to be limited in size.
operationId: getBlockedClients
parameters:
- name: customerId
in: query
description: Customer ID
required: true
schema:
type: integer
format: int32
responses:
200:
description: Successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Client'
500:
$ref: '#/components/responses/GenericApiError'
/portal/client:
put:
tags:
- Clients
summary: Update Client
operationId: updateClient
requestBody:
description: Client info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
500:
$ref: '#/components/responses/GenericApiError'
/portal/alarm:
put:
tags:
- Alarms
summary: Update Alarm
operationId: updateAlarm
requestBody:
description: Alarm info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Alarm'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Alarm'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Alarms
summary: Delete Alarm
operationId: deleteAlarm
parameters:
- name: customerId
in: query
required: true
schema:
type: integer
format: int32
- name: equipmentId
in: query
required: true
schema:
type: integer
format: int64
- name: alarmCode
in: query
required: true
schema:
$ref: '#/components/schemas/AlarmCode'
- name: createdTimestamp
in: query
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Alarm'
500:
$ref: '#/components/responses/GenericApiError'
/portal/alarm/forEquipment:
get:
tags:
- Alarms
summary: Get list of Alarms for customerId, set of equipment ids, and set of alarm codes.
operationId: getAlarmsforEquipment
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: Set of equipment ids. Must not be empty.
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: alarmCodes
in: query
description: Set of alarm codes. Empty or null means retrieve all.
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/AlarmCode'
- name: createdAfterTimestamp
in: query
description: retrieve alarms created after the specified time
required: false
schema:
type: integer
format: int64
default: -1
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Alarm'
500:
$ref: '#/components/responses/GenericApiError'
/portal/alarm/forCustomer:
get:
tags:
- Alarms
summary: Get list of Alarms for customerId, optional set of equipment ids, optional set of alarm codes.
operationId: getAlarmsforCustomer
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: Set of equipment ids. Empty or null means retrieve all equipment for the customer.
required: false
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: alarmCodes
in: query
description: Set of alarm codes. Empty or null means retrieve all.
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/AlarmCode'
- name: createdAfterTimestamp
in: query
description: retrieve alarms created after the specified time
required: false
schema:
type: integer
format: int64
default: -1
- name: sortBy
in: query
description: sort options
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsAlarm'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextAlarm'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseAlarm'
500:
$ref: '#/components/responses/GenericApiError'
/portal/alarm/counts:
get:
tags:
- Alarms
summary: Get counts of Alarms for customerId, optional set of equipment ids, optional set of alarm codes.
operationId: getAlarmCounts
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: Set of equipment ids. Empty or null means retrieve for all equipment for the customer.
required: false
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: alarmCodes
in: query
description: Set of alarm codes. Empty or null means retrieve all.
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/AlarmCode'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AlarmCounts'
500:
$ref: '#/components/responses/GenericApiError'
/portal/alarm/resetCounts:
post:
tags:
- Alarms
summary: Reset accumulated counts of Alarms.
operationId: resetAlarmCounts
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
500:
$ref: '#/components/responses/GenericApiError'
/portal/serviceMetric/forCustomer:
get:
tags:
- WLAN Service Metrics
summary: Get list of WLAN Service Metrics for customerId, optional set of equipment ids, optional set of client MAC addresses, optional set of metric data types. Only metrics that are created between specified fromTime and toTime are retrieved.
operationId: getServiceMetricsforCustomer
parameters:
- name: fromTime
in: query
description: Include metrics created after (and including) this timestamp in milliseconds
required: true
schema:
type: integer
format: int64
- name: toTime
in: query
description: Include metrics created before (and including) this timestamp in milliseconds
required: true
schema:
type: integer
format: int64
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: Set of equipment ids. Empty or null means retrieve metrics for all equipment for the customer.
required: false
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: clientMacs
in: query
description: Set of client MAC addresses. Empty or null means retrieve metrics for all client MACs for the customer.
required: false
content:
text/plain:
schema:
type: array
items:
type: string
- name: dataTypes
in: query
description: Set of metric data types. Empty or null means retrieve all.
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceMetricDataType'
- name: sortBy
in: query
description: Sort options. If not provided, then results will be ordered by equipmentId and createdTimestamp.
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsServiceMetric'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextServiceMetric'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseServiceMetric'
500:
$ref: '#/components/responses/GenericApiError'
/portal/systemEvent/forCustomer:
get:
tags:
- System Events
summary: Get list of System Events for customerId, optional set of equipment ids, and optional set of data types. Only events that are created between specified fromTime and toTime are retrieved.
operationId: getSystemEventsforCustomer
parameters:
- name: fromTime
in: query
description: Include events created after (and including) this timestamp in milliseconds
required: true
schema:
type: integer
format: int64
- name: toTime
in: query
description: Include events created before (and including) this timestamp in milliseconds
required: true
schema:
type: integer
format: int64
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: Set of equipment ids. Empty or null means retrieve events for all equipment for the customer.
required: false
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
- name: dataTypes
in: query
description: Set of system event data types. Empty or null means retrieve all.
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/SystemEventDataType'
- name: sortBy
in: query
description: Sort options. If not provided, then results will be ordered by equipmentId and createdTimestamp.
schema:
type: array
items:
$ref: '#/components/schemas/SortColumnsSystemEvent'
- name: paginationContext
in: query
description: pagination context
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationContextSystemEvent'
examples:
initialPginationContext:
value:
model_type: PaginationContext
maxItemsPerPage: 10
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationResponseSystemEvent'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/version:
post:
tags:
- Firmware Management
summary: Create new FirmwareVersion
operationId: createFirmwareVersion
requestBody:
description: FirmwareVersion info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareVersion'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareVersion'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Firmware Management
summary: Get FirmwareVersion By Id
operationId: getFirmwareVersion
parameters:
- name: firmwareVersionId
in: query
description: firmwareVersion id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareVersion'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Firmware Management
summary: Update FirmwareVersion
operationId: updateFirmwareVersion
requestBody:
description: FirmwareVersion info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareVersion'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareVersion'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Firmware Management
summary: Delete FirmwareVersion
operationId: deleteFirmwareVersion
parameters:
- name: firmwareVersionId
in: query
description: firmwareVersion id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareVersion'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/version/byName:
get:
tags:
- Firmware Management
summary: Get FirmwareVersion By name
operationId: getFirmwareVersionByName
parameters:
- name: firmwareVersionName
in: query
description: firmwareVersion name
required: true
schema:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareVersion'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/version/byEquipmentType:
get:
tags:
- Firmware Management
summary: Get FirmwareVersions filtered by equipmentType and optional equipment model
operationId: getFirmwareVersionByEquipmentType
parameters:
- name: equipmentType
in: query
required: true
schema:
$ref: '#/components/schemas/EquipmentType'
- name: modelId
description: optional filter by equipment model, if null - then firmware versions for all the equipment models are returned
in: query
required: false
schema:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FirmwareVersion'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/model/byEquipmentType:
get:
tags:
- Firmware Management
summary: Get equipment models from all known firmware versions filtered by equipmentType
operationId: getFirmwareModelIdsByEquipmentType
parameters:
- name: equipmentType
in: query
required: true
schema:
$ref: '#/components/schemas/EquipmentType'
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
type: string
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/track:
post:
tags:
- Firmware Management
summary: Create new FirmwareTrackRecord
operationId: createFirmwareTrackRecord
requestBody:
description: FirmwareTrackRecord info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackRecord'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Firmware Management
summary: Get FirmwareTrackRecord By Id
operationId: getFirmwareTrackRecord
parameters:
- name: firmwareTrackId
in: query
description: firmware track id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Firmware Management
summary: Update FirmwareTrackRecord
operationId: updateFirmwareTrackRecord
requestBody:
description: FirmwareTrackRecord info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackRecord'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Firmware Management
summary: Delete FirmwareTrackRecord
operationId: deleteFirmwareTrackRecord
parameters:
- name: firmwareTrackId
in: query
description: firmware track id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/track/byName:
get:
tags:
- Firmware Management
summary: Get FirmwareTrackRecord By name
operationId: getFirmwareTrackRecordByName
parameters:
- name: firmwareTrackName
in: query
description: firmware track name
required: true
schema:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/trackAssignment:
get:
tags:
- Firmware Management
summary: Get FirmwareTrackAssignmentDetails for a given firmware track name
operationId: getFirmwareTrackAssignmentDetails
parameters:
- name: firmwareTrackName
in: query
description: firmware track name
required: true
schema:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FirmwareTrackAssignmentDetails'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Firmware Management
summary: Update FirmwareTrackAssignmentDetails
operationId: updateFirmwareTrackAssignmentDetails
requestBody:
description: FirmwareTrackAssignmentDetails info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackAssignmentDetails'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackAssignmentDetails'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Firmware Management
summary: Delete FirmwareTrackAssignment
operationId: deleteFirmwareTrackAssignment
parameters:
- name: firmwareTrackId
in: query
description: firmware track id
required: true
schema:
type: integer
format: int64
- name: firmwareVersionId
in: query
description: firmware version id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FirmwareTrackAssignmentDetails'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/customerTrack/default:
get:
tags:
- Firmware Management
summary: Get default settings for handling automatic firmware upgrades
operationId: getDefaultCustomerTrackSetting
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/customerTrack:
post:
tags:
- Firmware Management
summary: Create new CustomerFirmwareTrackRecord
operationId: createCustomerFirmwareTrackRecord
requestBody:
description: CustomerFirmwareTrackRecord info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackRecord'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Firmware Management
summary: Get CustomerFirmwareTrackRecord By customerId
operationId: getCustomerFirmwareTrackRecord
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Firmware Management
summary: Update CustomerFirmwareTrackRecord
operationId: updateCustomerFirmwareTrackRecord
requestBody:
description: CustomerFirmwareTrackRecord info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackRecord'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Firmware Management
summary: Delete CustomerFirmwareTrackRecord
operationId: deleteCustomerFirmwareTrackRecord
parameters:
- name: customerId
in: query
description: customer id
required: true
schema:
type: integer
format: int32
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackRecord'
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer:
post:
tags:
- Manufacturer OUI
summary: Create new ManufacturerDetailsRecord
operationId: createManufacturerDetailsRecord
requestBody:
description: ManufacturerDetailsRecord info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerDetailsRecord'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerDetailsRecord'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Manufacturer OUI
summary: Get ManufacturerDetailsRecord By id
operationId: getManufacturerDetailsRecord
parameters:
- name: id
in: query
description: ManufacturerDetailsRecord id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerDetailsRecord'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Manufacturer OUI
summary: Update ManufacturerDetailsRecord
operationId: updateManufacturerDetailsRecord
requestBody:
description: ManufacturerDetailsRecord info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerDetailsRecord'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerDetailsRecord'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Manufacturer OUI
summary: Delete ManufacturerDetailsRecord
operationId: deleteManufacturerDetailsRecord
parameters:
- name: id
in: query
description: ManufacturerDetailsRecord id
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerDetailsRecord'
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer/oui:
post:
tags:
- Manufacturer OUI
summary: Create new ManufacturerOuiDetails
operationId: createManufacturerOuiDetails
requestBody:
description: ManufacturerOuiDetails info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerOuiDetails'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerOuiDetails'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Manufacturer OUI
summary: Get ManufacturerOuiDetails By oui
operationId: getManufacturerOuiDetailsByOui
parameters:
- name: oui
in: query
description: ManufacturerOuiDetails oui
required: true
schema:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerOuiDetails'
500:
$ref: '#/components/responses/GenericApiError'
delete:
tags:
- Manufacturer OUI
summary: Delete ManufacturerOuiDetails
operationId: deleteManufacturerOuiDetails
parameters:
- name: oui
in: query
description: ManufacturerOuiDetails oui
required: true
schema:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerOuiDetails'
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer/oui/forManufacturer:
get:
tags:
- Manufacturer OUI
summary: Get Oui List for manufacturer
operationId: getOuiListForManufacturer
parameters:
- name: manufacturer
in: query
description: Manufacturer name or alias
required: true
schema:
type: string
- name: exactMatch
in: query
description: Perform exact match (true) or prefix match (false) for the manufacturer name or alias
required: true
schema:
type: boolean
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
type: string
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer/oui/all:
get:
tags:
- Manufacturer OUI
summary: Get all ManufacturerOuiDetails
operationId: getAllManufacturerOuiDetails
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ManufacturerOuiDetails'
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer/oui/list:
get:
tags:
- Manufacturer OUI
summary: Get ManufacturerOuiDetails for the list of OUIs
operationId: getManufacturerDetailsForOuiList
parameters:
- name: ouiList
in: query
required: true
content:
text/plain:
schema:
type: array
items:
type: string
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerOuiDetailsPerOuiMap'
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer/oui/alias:
put:
tags:
- Manufacturer OUI
summary: Update alias for ManufacturerOuiDetails
operationId: updateOuiAlias
requestBody:
description: ManufacturerOuiDetails info
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerOuiDetails'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ManufacturerOuiDetails'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- Manufacturer OUI
summary: Get manufacturer aliases that begin with the given prefix
operationId: getAliasValuesThatBeginWith
parameters:
- name: prefix
in: query
description: prefix for the manufacturer alias
required: true
schema:
type: string
- name: maxResults
in: query
description: max results to return, use -1 for no limit
required: true
schema:
type: integer
format: int32
default: -1
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
type: string
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer/oui/upload:
post:
tags:
- Manufacturer OUI
summary: Upload the gziped OUI DataFile, in the format that is published by IEEE. Latest sanitized IEEE OUI data file (oui.txt.gz) can be obtained from https://linuxnet.ca/ieee/oui/
operationId: uploadOuiDataFile
parameters:
- name: fileName
in: query
description: file name that is being uploaded
required: true
schema:
type: string
requestBody:
description: Contents of gziped OUI DataFile, raw
required: true
content:
application/octet-stream:
schema:
type: string
format: binary
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
500:
$ref: '#/components/responses/GenericApiError'
/portal/manufacturer/oui/upload/base64:
post:
tags:
- Manufacturer OUI
summary: Upload the gziped OUI DataFile using base64 encoding, in the format that is published by IEEE. Latest sanitized IEEE OUI data file (oui.txt.gz) can be obtained from https://linuxnet.ca/ieee/oui/
operationId: uploadOuiDataFileBase64
parameters:
- name: fileName
in: query
description: file name that is being uploaded
required: true
schema:
type: string
requestBody:
description: Contents of gziped OUI DataFile, base64-encoded
required: true
content:
application/octet-stream:
schema:
type: string
format: base64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
500:
$ref: '#/components/responses/GenericApiError'
/filestore/{fileName}:
post:
tags:
- File Services
summary: Upload binary file.
operationId: uploadBinaryFile
parameters:
- name: fileName
in: path
description: File name that is being uploaded. File/path delimiters not allowed.
required: true
schema:
type: string
requestBody:
description: Contents of binary file
required: true
content:
application/octet-stream:
schema:
type: string
format: binary
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
500:
$ref: '#/components/responses/GenericApiError'
get:
tags:
- File Services
summary: Download binary file.
operationId: downloadBinaryFile
parameters:
- name: fileName
in: path
description: File name to download. File/path delimiters not allowed.
required: true
schema:
type: string
responses:
200:
description: successful operation
content:
application/octet-stream:
schema:
type: string
format: binary
500:
$ref: '#/components/responses/GenericApiError'
/portal/equipmentGateway/requestFirmwareUpdate:
post:
tags:
- Equipment Gateway
summary: Request firmware update for a particular equipment.
operationId: requestFirmwareUpdate
parameters:
- name: equipmentId
in: query
description: Equipment id for which the firmware update is being requested.
required: true
schema:
type: integer
format: int64
- name: firmwareVersionId
in: query
description: Id of the firmware version object.
required: true
schema:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
500:
$ref: '#/components/responses/GenericApiError'
/portal/adoptionMetrics/perEquipmentPerDay:
get:
tags:
- Service Adoption Metrics
summary: Get daily service adoption metrics for a given year filtered by specified equipment ids
operationId: getAdoptionMetricsPerEquipmentPerDay
parameters:
- name: year
in: query
required: true
schema:
type: integer
format: int32
- name: equipmentIds
in: query
description: filter by equipment ids.
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceAdoptionMetrics'
500:
$ref: '#/components/responses/GenericApiError'
/portal/adoptionMetrics/perLocationPerDay:
get:
tags:
- Service Adoption Metrics
summary: Get daily service adoption metrics for a given year aggregated by location and filtered by specified location ids
operationId: getAdoptionMetricsPerLocationPerDay
parameters:
- name: year
in: query
required: true
schema:
type: integer
format: int32
- name: locationIds
in: query
description: filter by location ids.
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int64
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceAdoptionMetrics'
500:
$ref: '#/components/responses/GenericApiError'
/portal/adoptionMetrics/perCustomerPerDay:
get:
tags:
- Service Adoption Metrics
summary: Get daily service adoption metrics for a given year aggregated by customer and filtered by specified customer ids
operationId: getAdoptionMetricsPerCustomerPerDay
parameters:
- name: year
in: query
required: true
schema:
type: integer
format: int32
- name: customerIds
in: query
description: filter by customer ids.
required: true
content:
text/plain:
schema:
type: array
items:
type: integer
format: int32
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceAdoptionMetrics'
500:
$ref: '#/components/responses/GenericApiError'
/portal/adoptionMetrics/allPerMonth:
get:
tags:
- Service Adoption Metrics
summary: Get monthly service adoption metrics for a given year
operationId: getAdoptionMetricsAllPerMonth
parameters:
- name: year
in: query
required: true
schema:
type: integer
format: int32
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceAdoptionMetrics'
500:
$ref: '#/components/responses/GenericApiError'
/portal/adoptionMetrics/allPerWeek:
get:
tags:
- Service Adoption Metrics
summary: Get weekly service adoption metrics for a given year
operationId: getAdoptionMetricsAllPerWeek
parameters:
- name: year
in: query
required: true
schema:
type: integer
format: int32
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceAdoptionMetrics'
500:
$ref: '#/components/responses/GenericApiError'
/portal/adoptionMetrics/allPerDay:
get:
tags:
- Service Adoption Metrics
summary: Get daily service adoption metrics for a given year
operationId: getAdoptionMetricsAllPerDay
parameters:
- name: year
in: query
required: true
schema:
type: integer
format: int32
responses:
200:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceAdoptionMetrics'
500:
$ref: '#/components/responses/GenericApiError'