mirror of
https://github.com/Telecominfraproject/wlan-cloud-analytics.git
synced 2025-12-26 09:47:04 +00:00
1404 lines
34 KiB
YAML
1404 lines
34 KiB
YAML
openapi: 3.0.1
|
|
info:
|
|
title: OpenWiFi Analytics Service
|
|
description: Definitions and APIs to analyze OpenWiFi network.
|
|
version: 2.6.0
|
|
license:
|
|
name: BSD3
|
|
url: https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/LICENSE
|
|
|
|
servers:
|
|
- url: 'https://localhost:16009/api/v1'
|
|
|
|
security:
|
|
- bearerAuth: []
|
|
- ApiKeyAuth: []
|
|
|
|
components:
|
|
securitySchemes:
|
|
ApiKeyAuth:
|
|
type: apiKey
|
|
in: header
|
|
name: X-API-KEY
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
|
|
responses:
|
|
NotFound:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/NotFound'
|
|
Unauthorized:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/Unauthorized'
|
|
Success:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/Success'
|
|
BadRequest:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/BadRequest'
|
|
|
|
schemas:
|
|
ObjectInfo:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
notes:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/NoteInfo'
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
modified:
|
|
type: integer
|
|
format: int64
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
|
|
VenueInfo:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
retention:
|
|
type: integer
|
|
interval:
|
|
type: integer
|
|
monitorSubVenues:
|
|
type: boolean
|
|
|
|
BoardInfo:
|
|
type: object
|
|
properties:
|
|
allOf:
|
|
$ref: '#/components/schemas/ObjectInfo'
|
|
venueList:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/VenueInfo'
|
|
|
|
BoardInfoList:
|
|
type: object
|
|
properties:
|
|
boards:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/BoardInfo'
|
|
|
|
DeviceInfo:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- ap
|
|
- switch
|
|
- iot
|
|
- unknown
|
|
serialNumber:
|
|
type: string
|
|
deviceType:
|
|
type: string
|
|
lastHealth:
|
|
type: integer
|
|
format: int64
|
|
health:
|
|
type: integer
|
|
format: int64
|
|
lastContact:
|
|
type: integer
|
|
format: int64
|
|
lastPing:
|
|
type: integer
|
|
format: int64
|
|
lastState:
|
|
type: integer
|
|
format: int64
|
|
lastFirmwareUpdate:
|
|
type: integer
|
|
format: int64
|
|
lastFirmware:
|
|
type: string
|
|
lastConnection:
|
|
type: integer
|
|
format: int64
|
|
lastDisconnection:
|
|
type: integer
|
|
format: int64
|
|
pings:
|
|
type: integer
|
|
format: int64
|
|
states:
|
|
type: integer
|
|
format: int64
|
|
connected:
|
|
type: boolean
|
|
connectionIp:
|
|
type: string
|
|
associations_2g:
|
|
type: integer
|
|
format: int64
|
|
associations_5g:
|
|
type: integer
|
|
format: int64
|
|
associations_6g:
|
|
type: integer
|
|
format: int64
|
|
locale:
|
|
type: string
|
|
memory:
|
|
type: number
|
|
uptime:
|
|
type: integer
|
|
format: int64
|
|
|
|
DeviceInfoList:
|
|
type: object
|
|
properties:
|
|
devices:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DeviceInfo'
|
|
|
|
TIDstat_entry:
|
|
type: object
|
|
properties:
|
|
rx_msdu:
|
|
type: integer
|
|
format: int64
|
|
tx_msdu:
|
|
type: integer
|
|
format: int64
|
|
tx_msdu_failed:
|
|
type: integer
|
|
format: int64
|
|
tx_msdu_retries:
|
|
type: integer
|
|
format: int64
|
|
|
|
UE_rate:
|
|
type: object
|
|
properties:
|
|
bitrate:
|
|
type: integer
|
|
format: int64
|
|
mcs:
|
|
type: integer
|
|
format: int64
|
|
nss:
|
|
type: integer
|
|
format: int64
|
|
chwidth:
|
|
type: integer
|
|
format: int64
|
|
ht:
|
|
type: boolean
|
|
sgi:
|
|
type:
|
|
boolean
|
|
|
|
UETimePoint:
|
|
type: object
|
|
properties:
|
|
association_bssid:
|
|
type: integer
|
|
format: int64
|
|
station:
|
|
type: integer
|
|
format: int64
|
|
rssi:
|
|
type: integer
|
|
format: int64
|
|
tx_bytes:
|
|
type: integer
|
|
format: int64
|
|
rx_bytes:
|
|
type: integer
|
|
format: int64
|
|
tx_duration:
|
|
type: integer
|
|
format: int64
|
|
rx_packets:
|
|
type: integer
|
|
format: int64
|
|
tx_packets:
|
|
type: integer
|
|
format: int64
|
|
tx_retries:
|
|
type: integer
|
|
format: int64
|
|
tx_failed:
|
|
type: integer
|
|
format: int64
|
|
connected:
|
|
type: integer
|
|
format: int64
|
|
inactive:
|
|
type: integer
|
|
format: int64
|
|
tx_rate:
|
|
$ref: '#/components/schemas/UE_rate'
|
|
rx_rate:
|
|
$ref: '#/components/schemas/UE_rate'
|
|
tidstats:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TIDstat_entry'
|
|
tx_bytes_bw:
|
|
type: number
|
|
rx_bytes_bw:
|
|
type: number
|
|
tx_packets_bw:
|
|
type: number
|
|
rx_packets_bw:
|
|
type: number
|
|
tx_failed_pct:
|
|
type: number
|
|
tx_retries_pct:
|
|
type: number
|
|
tx_duration_pct:
|
|
type: number
|
|
tx_bytes_delta:
|
|
type: integer
|
|
format: int64
|
|
rx_bytes_delta:
|
|
type: integer
|
|
format: int64
|
|
tx_packets_delta:
|
|
type: integer
|
|
format: int64
|
|
rx_packets_delta:
|
|
type: integer
|
|
format: int64
|
|
tx_failed_delta:
|
|
type: integer
|
|
format: int64
|
|
tx_retries_delta:
|
|
type: integer
|
|
format: int64
|
|
tx_duration_delta:
|
|
type: integer
|
|
format: int64
|
|
|
|
AveragePoint:
|
|
type: object
|
|
properties:
|
|
min:
|
|
type: number
|
|
max:
|
|
type: number
|
|
avg:
|
|
type: number
|
|
|
|
SSIDTimePoint:
|
|
type: object
|
|
properties:
|
|
bssid:
|
|
type: string
|
|
mode:
|
|
type: string
|
|
ssid:
|
|
type: string
|
|
band:
|
|
type: integer
|
|
associations:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/UETimePoint'
|
|
tx_bytes_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
rx_bytes_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_packets_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
rx_packets_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_failed_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_retries_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_duration_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
|
|
APTimePoint:
|
|
type: object
|
|
properties:
|
|
collisions:
|
|
type: integer
|
|
format: int64
|
|
multicast:
|
|
type: integer
|
|
format: int64
|
|
rx_bytes:
|
|
type: integer
|
|
format: int64
|
|
rx_dropped:
|
|
type: integer
|
|
format: int64
|
|
rx_errors:
|
|
type: integer
|
|
format: int64
|
|
rx_packets:
|
|
type: integer
|
|
format: int64
|
|
tx_bytes:
|
|
type: integer
|
|
format: int64
|
|
tx_dropped:
|
|
type: integer
|
|
format: int64
|
|
tx_errors:
|
|
type: integer
|
|
format: int64
|
|
tx_packets:
|
|
type: integer
|
|
format: int64
|
|
tx_bytes_delta:
|
|
type: integer
|
|
format: int64
|
|
rx_bytes_delta:
|
|
type: integer
|
|
format: int64
|
|
rx_dropped_delta:
|
|
type: integer
|
|
format: int64
|
|
tx_dropped_delta:
|
|
type: integer
|
|
format: int64
|
|
rx_packets_delta:
|
|
type: integer
|
|
format: int64
|
|
tx_packets_delta:
|
|
type: integer
|
|
format: int64
|
|
rx_errors_delta:
|
|
type: integer
|
|
format: int64
|
|
tx_errors_delta:
|
|
type: integer
|
|
format: int64
|
|
|
|
RadioTimePoint:
|
|
type: object
|
|
properties:
|
|
band:
|
|
type: integer
|
|
format: int64
|
|
radio_channel:
|
|
type: integer
|
|
format: int64
|
|
active_ms:
|
|
type: integer
|
|
format: int64
|
|
busy_ms:
|
|
type: integer
|
|
format: int64
|
|
receive_ms:
|
|
type: integer
|
|
format: int64
|
|
transmit_ms:
|
|
type: integer
|
|
format: int64
|
|
tx_power:
|
|
type: integer
|
|
format: int64
|
|
channel:
|
|
type: integer
|
|
format: int64
|
|
temperature:
|
|
type: integer
|
|
format: int64
|
|
noise:
|
|
type: integer
|
|
format: int64
|
|
active_pct:
|
|
type: number
|
|
busy_pct:
|
|
type: number
|
|
receive_pct:
|
|
type: number
|
|
transmit_pct:
|
|
type: number
|
|
|
|
DeviceTimePoint:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
boardId:
|
|
type: string
|
|
format: uuid
|
|
serialNumber:
|
|
type: string
|
|
timestamp:
|
|
type: integer
|
|
format: int64
|
|
ap_data:
|
|
$ref: '#/components/schemas/APTimePoint'
|
|
ssid_data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SSIDTimePoint'
|
|
radio_data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RadioTimePoint'
|
|
device_info:
|
|
$ref: '#/components/schemas/DeviceInfo'
|
|
|
|
DeviceTimePointAnalysis:
|
|
type: object
|
|
properties:
|
|
timestamp:
|
|
type: integer
|
|
format: int64
|
|
noise:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
active_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
busy_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
receive_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
transmit_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_power:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_bytes_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
rx_bytes_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
rx_dropped_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_dropped_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
rx_packets_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_packets_bw:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
rx_errors_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
tx_errors_pct:
|
|
$ref: '#/components/schemas/AveragePoint'
|
|
|
|
DeviceTimePointList:
|
|
type: object
|
|
properties:
|
|
points:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DeviceTimePoint'
|
|
stats:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DeviceTimePointAnalysis'
|
|
|
|
DeviceTimePointStats:
|
|
type: object
|
|
properties:
|
|
firstPoint:
|
|
type: integer
|
|
format: int64
|
|
lastPoint:
|
|
type: integer
|
|
format: int64
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
|
|
WifiClientHistory:
|
|
type: object
|
|
properties:
|
|
timestamp:
|
|
type: integer
|
|
station_id:
|
|
type: string
|
|
bssid:
|
|
type: string
|
|
ssid:
|
|
type: string
|
|
rssi:
|
|
type: integer
|
|
rx_bitrate:
|
|
type: integer
|
|
rx_chwidth:
|
|
type: integer
|
|
rx_mcs:
|
|
type: integer
|
|
rx_nss:
|
|
type: integer
|
|
rx_vht:
|
|
type: boolean
|
|
tx_bitrate:
|
|
type: integer
|
|
tx_chwidth:
|
|
type: integer
|
|
tx_mcs:
|
|
type: integer
|
|
tx_nss:
|
|
type: integer
|
|
tx_vht:
|
|
type: boolean
|
|
rx_bytes:
|
|
type: integer
|
|
tx_bytes:
|
|
type: integer
|
|
rx_duration:
|
|
type: integer
|
|
tx_duration:
|
|
type: integer
|
|
rx_packets:
|
|
type: integer
|
|
tx_packets:
|
|
type: integer
|
|
ipv4:
|
|
type: string
|
|
ipv6:
|
|
type: string
|
|
channel_width:
|
|
type: integer
|
|
noise:
|
|
type: integer
|
|
tx_power:
|
|
type: integer
|
|
channel:
|
|
type: integer
|
|
active_ms:
|
|
type: integer
|
|
busy_ms:
|
|
type: integer
|
|
receive_ms:
|
|
type: integer
|
|
mode:
|
|
type: string
|
|
ack_signal:
|
|
type: integer
|
|
ack_signal_avg:
|
|
type: integer
|
|
connected:
|
|
type: integer
|
|
inactive:
|
|
type: integer
|
|
tx_retries:
|
|
type: integer
|
|
venue_id:
|
|
type: string
|
|
|
|
WifiClientHistoryList:
|
|
type: object
|
|
properties:
|
|
entries:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/WifiClientHistory'
|
|
|
|
MacList:
|
|
type: object
|
|
properties:
|
|
entries:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
ExtraSystemConfiguration:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
parameterName:
|
|
type: string
|
|
parameterValue:
|
|
type: string
|
|
|
|
#########################################################################################
|
|
##
|
|
## These are endpoints that all services in the OPenWiFI stack must provide
|
|
##
|
|
#########################################################################################
|
|
AnyPayload:
|
|
type: object
|
|
properties:
|
|
Document:
|
|
type: string
|
|
|
|
StringList:
|
|
type: object
|
|
properties:
|
|
list:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
TagValuePair:
|
|
type: object
|
|
properties:
|
|
tag:
|
|
type: string
|
|
value:
|
|
type: string
|
|
|
|
TagValuePairList:
|
|
type: object
|
|
properties:
|
|
tagList:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TagValuePair'
|
|
|
|
TagIntPair:
|
|
type: object
|
|
properties:
|
|
tag:
|
|
type: string
|
|
value:
|
|
type: integer
|
|
format: int64
|
|
|
|
TagIntPairList:
|
|
type: object
|
|
properties:
|
|
tagList:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TagIntPair'
|
|
|
|
SystemCommandDetails:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
enum:
|
|
- setloglevels
|
|
- getloglevels
|
|
- getSubSystemNames
|
|
- getLogLevelNames
|
|
- stats
|
|
parameters:
|
|
oneOf:
|
|
- $ref: '#/components/schemas/StringList'
|
|
- $ref: '#/components/schemas/TagValuePairList'
|
|
|
|
NoteInfo:
|
|
type: object
|
|
properties:
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
createdBy:
|
|
type: string
|
|
note:
|
|
type: string
|
|
|
|
SystemInfoResults:
|
|
type: object
|
|
properties:
|
|
version:
|
|
type: string
|
|
uptime:
|
|
type: integer
|
|
format: integer64
|
|
start:
|
|
type: integer
|
|
format: integer64
|
|
os:
|
|
type: string
|
|
processors:
|
|
type: integer
|
|
hostname:
|
|
type: string
|
|
certificates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
filename:
|
|
type: string
|
|
expires:
|
|
type: integer
|
|
format: int64
|
|
|
|
SystemResources:
|
|
type: object
|
|
properties:
|
|
numberOfFileDescriptors:
|
|
type: integer
|
|
format: int64
|
|
currRealMem:
|
|
type: integer
|
|
format: int64
|
|
peakRealMem:
|
|
type: integer
|
|
format: int64
|
|
currVirtMem:
|
|
type: integer
|
|
format: int64
|
|
peakVirtMem:
|
|
type: integer
|
|
format: int64
|
|
|
|
SystemCommandResults:
|
|
type: object
|
|
oneOf:
|
|
- $ref: '#/components/schemas/SystemResources'
|
|
- $ref: '#/components/schemas/SystemInfoResults'
|
|
- $ref: '#/components/schemas/StringList'
|
|
- $ref: '#/components/schemas/TagValuePairList'
|
|
|
|
Dashboard:
|
|
type: object
|
|
properties:
|
|
snapshot:
|
|
type: integer
|
|
format: int64
|
|
tenants:
|
|
$ref: '#/components/schemas/TagIntPairList'
|
|
|
|
SystemCommandSetLogLevel:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
enum:
|
|
- setloglevel
|
|
subsystems:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TagValuePair'
|
|
|
|
SystemCommandReload:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
enum:
|
|
- reload
|
|
subsystems:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example: these are the SubSystems names retrieve with the GetSubSystemsNamesResult.
|
|
|
|
SystemCommandGetLogLevels:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
enum:
|
|
- getloglevels
|
|
|
|
SystemGetLogLevelsResult:
|
|
type: object
|
|
properties:
|
|
taglist:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TagValuePair'
|
|
|
|
SystemCommandGetLogLevelNames:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
enum:
|
|
- getloglevelnames
|
|
|
|
SystemCommandGetSubsystemNames:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
enum:
|
|
- getsubsystemnames
|
|
|
|
SystemCommandGetLogLevelNamesResult:
|
|
type: object
|
|
properties:
|
|
list:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
SystemGetSubSystemNamesResult:
|
|
type: object
|
|
properties:
|
|
taglist:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TagValuePair'
|
|
|
|
paths:
|
|
/boards:
|
|
get:
|
|
tags:
|
|
- Boards
|
|
operationId: getBoards
|
|
summary: Retrieve a list of boards.
|
|
parameters:
|
|
- in: query
|
|
description: Pagination start (starts at 1. If not specified, 1 is assumed)
|
|
name: offset
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Maximum number of entries to return (if absent, no limit is assumed)
|
|
name: limit
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Filter the results
|
|
name: filter
|
|
schema:
|
|
type: string
|
|
required: false
|
|
- in: query
|
|
description: return the number of boards
|
|
name: countOnly
|
|
schema:
|
|
type: boolean
|
|
required: false
|
|
- in: query
|
|
description: list of boards for a given venue
|
|
name: forVenue
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: false
|
|
responses:
|
|
200:
|
|
description: Return a list of boards
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BoardInfoList'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
/board/{id}:
|
|
get:
|
|
tags:
|
|
- Boards
|
|
operationId: getBoard
|
|
summary: Retrieve a board
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
responses:
|
|
200:
|
|
description: Return a list of boards
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BoardInfo'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
delete:
|
|
tags:
|
|
- Boards
|
|
operationId: deleteBoard
|
|
summary: Remove a board
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
responses:
|
|
200:
|
|
$ref: '#/components/responses/Success'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
post:
|
|
tags:
|
|
- Boards
|
|
operationId: createBoard
|
|
summary: Create a board
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
example: value should be 0 for a post
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BoardInfo'
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/BoardInfo'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
put:
|
|
tags:
|
|
- Boards
|
|
operationId: modifyBoard
|
|
summary: Modify a board
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BoardInfo'
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/BoardInfo'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
/board/{id}/devices:
|
|
get:
|
|
tags:
|
|
- Board Devices
|
|
summary: Get basic information about all the devices for a venue.
|
|
operationId: getBoardDevices
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/DeviceInfoList'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
/board/{id}/timepoints:
|
|
get:
|
|
tags:
|
|
- Board data
|
|
summary: retrieve board data for a given time period.
|
|
operationId: getBoardTimepoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
- in: query
|
|
name: fromDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
name: endDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
name: maxRecords
|
|
schema:
|
|
type: integer
|
|
default: 100
|
|
required: false
|
|
- in: query
|
|
name: statsOnly
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
required: false
|
|
- in: query
|
|
name: pointsOnly
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
required: false
|
|
- in: query
|
|
name: pointsStatsOnly
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
required: false
|
|
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/DeviceTimePointList'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
delete:
|
|
tags:
|
|
- Board data
|
|
summary: delete board data for a given time period.
|
|
operationId: deleteBoardTimepoints
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
- in: query
|
|
name: fromDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
name: endDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
responses:
|
|
200:
|
|
$ref: '#/components/responses/Success'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
/wifiClientHistory:
|
|
get:
|
|
tags:
|
|
- WiFiClientHistory
|
|
operationId: getWifiClientHistory
|
|
summary: Retrieve WiFi client history for debugging purpose
|
|
parameters:
|
|
- in: query
|
|
name: fromDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
name: endDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Pagination start (starts at 1. If not specified, 1 is assumed)
|
|
name: offset
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Maximum number of entries to return (if absent, no limit is assumed)
|
|
name: limit
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Maximum number of entries to return (if absent, no limit is assumed)
|
|
name: macsOnly
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
required: true
|
|
- in: query
|
|
description: Maximum number of entries to return (if absent, no limit is assumed)
|
|
name: macFilter
|
|
schema:
|
|
type: string
|
|
example:
|
|
112233445566, 11223344*, *5566
|
|
required: false
|
|
- in: query
|
|
description: The venue to for the search.
|
|
name: venue
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/StringList'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
/wifiClientHistory/{client}:
|
|
get:
|
|
tags:
|
|
- WiFiClientHistory
|
|
operationId: getWifiClients
|
|
summary: Retrieve WiFi client history for debugging purpose
|
|
parameters:
|
|
- in: path
|
|
name: client
|
|
schema:
|
|
type: string
|
|
example:
|
|
"112233aabbcc"
|
|
required: true
|
|
- in: query
|
|
name: fromDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
name: endDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Pagination start (starts at 1. If not specified, 1 is assumed)
|
|
name: offset
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Maximum number of entries to return (if absent, no limit is assumed)
|
|
name: limit
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: The venue to for the search.
|
|
name: venue
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
- in: query
|
|
description: return extended information
|
|
name: orderBy
|
|
schema:
|
|
type: string
|
|
example: serialNumber:a,created:d
|
|
required: false
|
|
- in: query
|
|
description: return extended information
|
|
name: orderSpec
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
required: false
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/WifiClientHistoryList'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
delete:
|
|
tags:
|
|
- WiFiClientHistory
|
|
operationId: deleteWifiClientHistory
|
|
summary: Retrieve WiFi client history for debugging purpose
|
|
parameters:
|
|
- in: query
|
|
description: The venue to for the search.
|
|
name: venue
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
- in: path
|
|
name: client
|
|
schema:
|
|
type: string
|
|
example:
|
|
"112233aabbcc"
|
|
required: true
|
|
- in: query
|
|
name: fromDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
name: endDate
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Maximum number of entries to return (if absent, no limit is assumed)
|
|
name: macFilter
|
|
schema:
|
|
type: string
|
|
example:
|
|
112233445566, 11223344*, *5566
|
|
required: false
|
|
responses:
|
|
200:
|
|
$ref: '#/components/responses/Success'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
#########################################################################################
|
|
##
|
|
## These are endpoints that all services in the OpenWiFi stack must provide
|
|
##
|
|
#########################################################################################
|
|
/system:
|
|
post:
|
|
tags:
|
|
- System Commands
|
|
summary: Perform some system wide commands.
|
|
operationId: systemCommand
|
|
requestBody:
|
|
description: Command details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- $ref: '#/components/schemas/SystemCommandSetLogLevel'
|
|
- $ref: '#/components/schemas/SystemCommandReload'
|
|
- $ref: '#/components/schemas/SystemCommandGetLogLevels'
|
|
- $ref: '#/components/schemas/SystemCommandGetLogLevelNames'
|
|
- $ref: '#/components/schemas/SystemCommandGetSubsystemNames'
|
|
responses:
|
|
200:
|
|
description: Successful command execution
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- $ref: '#/components/schemas/SystemGetLogLevelsResult'
|
|
- $ref: '#/components/schemas/SystemCommandGetLogLevelNamesResult'
|
|
- $ref: '#/components/schemas/SystemGetSubSystemNamesResult'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
get:
|
|
tags:
|
|
- System Commands
|
|
summary: Retrieve different values from the running service.
|
|
operationId: getSystemCommand
|
|
parameters:
|
|
- in: query
|
|
description: Get a value
|
|
name: command
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- info
|
|
- extraConfiguration
|
|
- resources
|
|
required: true
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/SystemCommandResults'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
/systemConfiguration:
|
|
get:
|
|
tags:
|
|
- SystemConfiguration
|
|
summary: Retrieve system configuration items
|
|
operationId: getSystemConfiguration
|
|
parameters:
|
|
- in: query
|
|
description: Which parameters you want to retrieve
|
|
name: entries
|
|
schema:
|
|
type: string
|
|
example:
|
|
- element1
|
|
- element1,element2,element3
|
|
required: false
|
|
responses:
|
|
200:
|
|
description: List of configuration elements
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ExtraSystemConfiguration'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
put:
|
|
tags:
|
|
- SystemConfiguration
|
|
summary: Set some or all system configuration
|
|
operationId: setSystemConfiguration
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExtraSystemConfiguration'
|
|
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/ExtraSystemConfiguration'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
delete:
|
|
tags:
|
|
- SystemConfiguration
|
|
summary: Delete all additional system configuration
|
|
operationId: deleteSystemConfiguration
|
|
|
|
responses:
|
|
200:
|
|
$ref: '#/components/responses/Success'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|