Files
wlan-cloud-ucentralgw/openapi/owgw.yaml
2023-11-20 21:13:22 -08:00

3684 lines
91 KiB
YAML

openapi: 3.0.1
info:
title: uCentral gateway API
description: A process to manage configuration for devices.
version: 2.11.0
license:
name: BSD3
url: https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/LICENSE
contact:
name: Arilia Support
email: ucentralsupport@arilia.com
url: https://www.ucentral.info/support
servers:
- url: 'https://localhost:16001/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:
DeviceType:
type: string
default: AP
enum:
- AP
- SWITCH
- IOT
- MESH
DeviceRestrictionsKeyInfo:
type: object
properties:
vendor:
type: string
algo:
type: string
DeviceRestrictions:
type: object
properties:
dfs:
type: boolean
ssh:
type: boolean
rtty:
type: boolean
tty:
type: boolean
developer:
type: boolean
upgrade:
type: boolean
commands:
type: boolean
country:
type: array
items:
type: string
key_info:
$ref: '#/components/schemas/DeviceRestrictionsKeyInfo'
Device:
type: object
description: Definition of uCentral device
required:
- deviceType
properties:
owner:
type: string
format: uuid
location:
type: string
format: uuid
venue:
type: string
format: uuid
serialNumber:
type: string
deviceType:
$ref: '#/components/schemas/DeviceType'
macAddress:
type: string
manufacturer:
type: string
UUID:
type: integer
format: int64
configuration:
type: string
notes:
type: array
items:
$ref: '#/components/schemas/NoteInfo'
createdTimestamp:
type: integer
format: int64
lastConfigurationChange:
type: integer
format: int64
lastConfigurationDownload:
type: integer
format: int64
firmware:
type: string
devicePassword:
type: string
subscriber:
type: string
format: uuid
entity:
type: string
format: uuid
modified:
type: integer
format: int64
locale:
type: string
minLength: 2
maxLength: 2
restrictedDevice:
type: boolean
default: false
certificateExpiryDate:
type: integer
format: int64
pendingConfiguration:
type: string
pendingConfigurationCmd:
type: string
format: uuid
restrictionDetails:
$ref: '#/components/schemas/DeviceRestrictions'
simulated:
type: boolean
lastRecordedContact:
type: integer
format: int64
DeviceWithStatus:
type: object
description: Definition of uCentral device
required:
- deviceType
properties:
owner:
type: string
format: uuid
location:
type: string
format: uuid
venue:
type: string
format: uuid
serialNumber:
type: string
deviceType:
$ref: '#/components/schemas/DeviceType'
macAddress:
type: string
manufacturer:
type: string
UUID:
type: integer
format: int64
configuration:
type: string
compatible:
type: string
fwUpdatePolicy:
type: string
notes:
type: string
createdTimestamp:
type: integer
format: int64
lastConfigurationChange:
type: integer
format: int64
lastConfigurationDownload:
type: integer
format: int64
lastFWUpdate:
type: integer
format: int64
firmware:
type: string
connected:
type: boolean
ipAddress:
type: string
txBytes:
type: integer
format: int64
rxBytes:
type: integer
format: int64
associations_2G:
type: integer
format: int64
associations_5G:
type: integer
format: int64
devicePassword:
type: string
lastContact:
type: integer
format: int64
subscriber:
type: string
format: uuid
entity:
type: string
format: uuid
modified:
type: integer
format: int64
locale:
type: string
minLength: 2
maxLength: 2
started:
type: integer
format: int64
sessionId:
type: integer
format: int64
connectionCompletionTime:
type: number
format: double
totalConnectionTime:
type: integer
format: int64
restrictedDevice:
type: boolean
default: false
certificateDate:
type: integer
format: int64
pendingConfiguration:
type: string
pendingConfigurationCmd:
type: string
format: uuid
restrictionDetails:
$ref: '#/components/schemas/DeviceRestrictions'
hasGPS:
type: boolean
sanity:
type: integer
format: int64
memoryUsed:
type: number
format: float
load:
type: number
format: float
temperature:
type: number
format: float
connectReason:
type: string
DeviceList:
type: object
description: Definition of uCentral device list
properties:
devices:
type: array
items:
$ref : '#/components/schemas/Device'
DeviceListWithStatus:
type: object
description: Definition of uCentral device list including device status.
properties:
devicesWithStatus:
type: array
items:
$ref : '#/components/schemas/DeviceWithStatus'
SerialNumberList:
type: object
description: List of serial numbers.
properties:
serialNumbers:
type: array
items:
type: string
DeviceCount:
type: object
description: The number of devices in the DB.
properties:
count:
type: integer
format: int64
DeviceStatus:
type: object
description: Current device status.
properties:
serialNumber:
type: string
ipAddress:
type: string
txBytes:
type: integer
format: int64
rxBytes:
type: integer
format: int64
messageCount:
type: integer
format: int64
UUID:
type: integer
format: int64
connected:
type: boolean
lastContact:
type: integer
format: int64
firmware:
type: string
associations_2G:
type: integer
format: int64
associations_5G:
type: integer
format: int64
associations_6G:
type: integer
format: int64
verifiedCertificate:
type: string
enum:
- NO_CERTIFICATE,
- VALID_CERTIFICATE,
- MISMATCH_SERIAL,
- VERIFIED
- SIMULATED
DeviceCapabilities:
type: object
description: Describes the capabilities a device can support.
properties:
serialNumber:
type: string
capabilities:
type: string
lastUpdate:
type: integer
format: int64
firstUpdate:
type: integer
format: int64
DeviceConnectionStatistics:
type: object
description: Return some basic device statistics.
properties:
connectedDevices:
type: integer
format: int64
averageConnectionTime:
type: integer
format: int64
StatisticsDetails:
type: object
properties:
serialNumber:
type: string
recorded:
type: integer
format: int64
UUID:
type: integer
format: int64
data:
type: string
StatisticsRecords:
type: object
properties:
serialNumber:
type: string
values:
type: array
items:
$ref: '#/components/schemas/StatisticsDetails'
NameValuePair:
type: object
properties:
name:
type: string
value:
type: integer
format: int64
InterfaceStatistics:
type: object
properties:
name:
type: string
values:
type: array
items:
$ref: '#/components/schemas/NameValuePair'
CommandDetails:
type: object
properties:
command:
type: string
payload:
type: string
when:
type: integer
format: int64
serialNumber:
type: string
CommandSubmitSuccess:
description: The command was submitted successfully.
properties:
serialNumber:
type: string
UUID:
type: string
format: uuid
DeviceConfigureRequest:
type: object
properties:
serialNumber:
type: string
UUID:
type: integer
format: int64
configuration:
type: string
when:
type: integer
format: int64
DeviceLog:
type: object
properties:
log:
type: string
recorded:
type: integer
format: int64
severity:
type: integer
format: int64
data:
type: string
logType:
type: integer
format: int64
example:
- 0 normal logs
- 1 crash logs
- 2 reboot logs
UUID:
type: integer
format: int64
DeviceLogList:
type: object
properties:
serialNumber:
type: string
values:
type: array
items:
$ref: '#/components/schemas/DeviceLog'
HealthCheck:
type: object
properties:
UUID:
type: integer
format: int64
sanity:
type: integer
format: int64
data:
type: string
recorded:
type: integer
format: int64
HealthCheckList:
type: object
properties:
serialNumber:
type: string
values:
type: array
items:
$ref: '#/components/schemas/HealthCheck'
DefaultConfiguration:
type: object
properties:
name:
type: string
modelIds:
type: array
items:
type: string
description:
type: string
configuration:
type: string
created:
type: integer
format: int64
lastModified:
type: integer
format: int64
DefaultConfigurationList:
properties:
configurations:
type: array
items:
$ref : '#/components/schemas/DefaultConfiguration'
DefaultFirmware:
type: object
properties:
deviceType:
type: string
description:
type: string
uri:
type: string
revision:
type: string
imageCreationDate:
type: integer
format: int64
created:
type: integer
format: int64
lastModified:
type: integer
format: int64
DefaultFirmwareList:
type: object
properties:
firmwares:
type: array
items:
$ref: '#/components/schemas/DefaultFirmware'
UpgradeRequest:
type: object
properties:
uri:
type: string
serialNumber:
type: string
when:
type: integer
format: int64
keepRedirector:
type: boolean
RebootRequest:
type: object
properties:
serialNumber:
type: string
when:
type: integer
format: int64
ScriptRequest:
type: object
properties:
serialNumber:
type: string
timeout:
type: integer
format: int64
default: 30
type:
type: string
enum:
- shell
- bundle
- diagnostic
script:
type: string
description: This is the content of the script and must be encoded with base64. This is only for a ScriptRequest
scriptId:
type: string
when:
type: integer
format: int64
default: 0
signature:
type: string
deferred:
type: boolean
uri:
type: string
ScriptEntry:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
uri:
type: string
content:
type: string
version:
type: string
type:
enum:
- shell
- bundle
created:
type: integer
modified:
type: integer
author:
type: string
restricted:
type: array
items:
type: string
deferred:
type: boolean
default: false
timeout:
type: integer
default: 30
defaultUploadURI:
type: string
ScriptEntryList:
type: object
properties:
scripts:
type: array
items:
$ref: '#/components/schemas/ScriptEntry'
FactoryRequest:
type: object
properties:
serialNumber:
type: string
when:
type: integer
format: int64
keepRedirector:
type: boolean
LEDsRequest:
type: object
properties:
serialNumber:
type: string
when:
type: integer
format: int64
duration:
description: only applies to the blink pattern
type: integer
format: int64
pattern:
type: string
enum:
- on
- off
- blink
MessageRequest:
type: object
properties:
serialNumber:
type: string
when:
type: integer
format: int64
message:
type: string
enum:
- state
- healthcheck
TraceRequest:
type: object
properties:
serialNumber:
type: string
when:
type: integer
format: int64
duration:
type: integer
format: int64
numberOfPackets:
type: integer
format: int64
network:
type: string
interface:
type: string
CommandInfo:
type: object
properties:
UUID:
type: string
format: uuid
command:
type: string
details:
type: string
serialNumber:
type: string
submitted:
type: integer
format: int64
executed:
type: integer
format: int64
completed:
type: integer
format: int64
when:
type: integer
format: int64
errorText:
type: string
results:
type: string
errorCode:
type: integer
format: int64
submittedBy:
type: string
status:
type: string
custom:
type: integer
format: int64
waitingForFile:
type: integer
format: int64
attachFile:
type: integer
format: int64
attachSize:
type: integer
format: int64
attachType:
type: string
CommandInfoList:
type: object
properties:
commands:
type: array
items:
$ref: '#/components/schemas/CommandInfo'
DeviceDashboard:
type: object
properties:
snapshot:
type: integer
format: int64
numberOfDevices:
type: integer
format: int64
commands:
$ref: '#/components/schemas/TagIntPairList'
upTimes:
$ref: '#/components/schemas/TagIntPairList'
memoryUsed:
$ref: '#/components/schemas/TagIntPairList'
load1:
$ref: '#/components/schemas/TagIntPairList'
load5:
$ref: '#/components/schemas/TagIntPairList'
load15:
$ref: '#/components/schemas/TagIntPairList'
vendors:
$ref: '#/components/schemas/TagIntPairList'
status:
$ref: '#/components/schemas/TagIntPairList'
type:
$ref: '#/components/schemas/TagIntPairList'
deviceType:
$ref: '#/components/schemas/TagIntPairList'
healths:
$ref: '#/components/schemas/TagIntPairList'
certificates:
$ref: '#/components/schemas/TagIntPairList'
lastContact:
$ref: '#/components/schemas/TagIntPairList'
associations:
$ref: '#/components/schemas/TagIntPairList'
TelemetryStreamRequest:
type: object
properties:
serialNumber:
type: string
interval:
type: integer
description:
0 - means to stop streaming, values 1-120 in seconds.
lifetime:
type: integer
format: int64
description: how long should the telemetry run
kafka:
type: boolean
default: false
description: set to true to start kafka telemetry, false to start websocket telemetry
types:
type: array
items:
type: string
enum:
- dhcp-snooping
- wire-frames
- state
uuid:
type: string
format: uuid
description:
only valid when terminating a stream
TelemetryStreamResponse:
type: object
properties:
serialNumber:
type: string
uuid:
type: string
format: uuid
uri:
type: string
format: uri
example:
wss://host.domain:port/endpoint
action:
type: string
description: what action resulted from running the command
status:
type: object
properties:
running:
type: boolean
interval:
type: integer
websocketTimer:
type: integer
kafkaTimer:
type: integer
websocketClients:
type: integer
kafkaClients:
type: integer
RRM_Kick:
type: object
properties:
action:
type: string
enum:
- kick
addr:
type: string
format: mac
reason:
type: integer
default: 5
ban_time:
type: integer
format: int64
RRM_channel_switch:
type: object
properties:
action:
type: string
enum:
- channel_switch
bssid:
type: string
format: mac
channel:
type: integer
RRM_tx_power:
type: object
properties:
action:
type: string
enum:
- tx_power
bssid:
type: string
format: mac
level:
type: integer
RRM_beacon_request:
type: object
properties:
action:
type: string
enum:
- beacon_request
addr:
type: string
format: mac
ssid:
type: string
channel:
type: integer
RRM_bss_transition:
type: object
properties:
action:
type: string
enum:
- bss_transition
addr:
type: string
format: mac
neighbors:
type: array
items:
type: string
format: mac
RRM_neighbors:
type: object
properties:
action:
type: string
enum:
- neighbors
bssid:
type: string
format: mac
neighbors:
type: array
items:
type: string
format: mac
RRM_action:
type: object
oneOf:
- $ref: '#/components/schemas/RRM_Kick'
- $ref: '#/components/schemas/RRM_channel_switch'
- $ref: '#/components/schemas/RRM_tx_power'
- $ref: '#/components/schemas/RRM_beacon_request'
- $ref: '#/components/schemas/RRM_bss_transition'
- $ref: '#/components/schemas/RRM_neighbors'
RRM_actions:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/RRM_action'
#########################################################################################
##
## These are endpoints that all services in the uCentral 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'
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'
ExtraSystemConfiguration:
type: array
items:
type: object
properties:
parameterName:
type: string
parameterValue:
type: string
#########################################################################################
##
## End of uCentral system-wide values
##
#########################################################################################
BlackDeviceInfo:
type: object
properties:
serialNumber:
type: string
created:
type: integer
format: int64
readOnly: true
author:
type: string
readOnly: true
reason:
type: string
BlackDeviceList:
type: object
properties:
devices:
type: array
items:
$ref: '#/components/schemas/BlackDeviceInfo'
WifiBands:
type: object
properties:
bands:
type: array
items:
type: string
enum: [ "2" , "5", "5l", "5u" , "6" ]
WifiChannels:
type: object
properties:
channels:
type: array
items:
type: integer
WifiScanRequest:
type: object
properties:
serialNumber:
type: string
verbose:
type: boolean
activeScan:
type: boolean
selector:
oneOf:
- $ref: '#/components/schemas/WifiBands'
- $ref: '#/components/schemas/WifiChannels'
ies:
type: array
items:
type: integer
minimum: 0
maximum: 255
required:
- serialNumber
EventQueueRequest:
type: object
properties:
serialNumber:
type: string
types:
type: array
items:
type: string
enum:
- dhcp
- rrm
EventQueueResponse:
type: object
properties:
serialNumber:
type: string
UUID:
type: string
format: uuid
result:
type: string
RttySessionDetails:
type: object
properties:
serialNumber:
type: string
server:
type: string
port:
type: integer
format: int32
token:
type: string
timeout:
type: integer
format: int32
connectionId:
type: string
started:
type: integer
format: int64
commandUUID:
type: string
viewport:
type: integer
format: int32
password:
type: string
CapabilitiesModel:
type: object
properties:
deviceType:
type: string
capabilities:
type: string
CapabilitiesModelList:
type: object
properties:
device_types:
type: array
items:
$ref: '#/components/schemas/CapabilitiesModel'
RadiusProxyServerEntry:
type: object
properties:
name:
type: string
ip:
type: string
format: ip-addr
port:
type: integer
weight:
type: integer
secret:
type: string
certificate:
type: string
radsec:
type: boolean
default: false
radsecPort:
type: integer
minimum: 1
maximum: 65535
radsecSecret:
type: string
radsecCacerts:
type: array
items:
type: string
radsecCert:
type: string
description: this must be the base64 encoded of the entire content of the certificate file, including the -----BEGIN lines
radsecKey:
type: string
description: this must be the base64 encoded of the entire content of the key file, including the -----BEGIN lines
radsecRealms:
description: each entry must be the base64 encoded of the entire content of the ca files, including the -----BEGIN lines
type: array
items:
type: string
ignore:
type: boolean
default: false
RadiusProxyServerConfig:
type: object
properties:
strategy:
type: string
enum:
- random
- round_robin
- weighted
monitor:
type: boolean
default: false
monitorMethod:
type: string
enum:
- none
- https
- radius
methodParameters:
type: array
items:
type: string
servers:
type: array
items:
$ref: '#/components/schemas/RadiusProxyServerEntry'
RadiusProxyPool:
type: object
properties:
name:
type: string
description:
type: string
authConfig:
$ref: '#/components/schemas/RadiusProxyServerConfig'
acctConfig:
$ref: '#/components/schemas/RadiusProxyServerConfig'
coaConfig:
$ref: '#/components/schemas/RadiusProxyServerConfig'
radsecPoolType:
type: string
enum:
- generic
- orion
- globalreach
- radsec
default:
generic
poolProxyIp:
type: string
description: This is the fake IP for the entire pool
example:
- These addresses must match the addresses in the AP configuration and must start with 0.0
- 0.0.0.1
- 0.0.1.1
radsecPoolKeepAlive:
type: integer
description: The keep alive value in seconds. Usually 30s or less.
format: int64
default: 25
enabled:
type: boolean
default: true
RadiusProxyPoolList:
type: object
properties:
pools:
type: array
items:
$ref: '#/components/schemas/RadiusProxyPool'
RadiusSession:
type: object
properties:
started:
type: integer
format: int64
lastTransaction:
type: integer
format: int64
inputPackets:
type: integer
format: int64
outputPackets:
type: integer
format: int64
inputOctets:
type: integer
format: int64
outputOctets:
type: integer
format: int64
inputGigaWords:
type: integer
format: int64
outputGigaWords:
type: integer
format: int64
sessionTime:
type: integer
format: int64
destination:
type: string
userName:
type: string
accountingSessionId:
type: string
accountingMultiSessionId:
type: string
callingStationId:
type: string
RadiusSessionList:
type: object
properties:
sessions:
type: array
items:
$ref: '#/components/schemas/RadiusSession'
RadiusCoADMParameters:
type: object
properties:
accountingSessionId:
type: string
accountingMultiSessionId:
type: string
callingStationId:
type: string
chargeableUserIdentity:
type: string
userName:
type: string
DeviceTransferRequest:
type: object
properties:
serialNumber:
type: string
format: uuid
server:
type: string
format: hostname
port:
type: integer
format: int32
DeviceCertificateUpdateRequest:
type: object
properties:
serialNumber:
type: string
encodedCertificate:
type: string
format: base64
description: This is a base64 encoded string of the certificate bundle (the current bundle .tar.gz file from the PKI portal)
paths:
/devices:
get:
tags:
- Devices
summary: Returns a list of devices.
description: Get a list of devices.
operationId: getDeviceList
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: Supply a list of devices comma separated
name: select
schema:
type: string
example: serial1,serial2,serial3
- in: query
description: only serial numbers of full device details
name: serialOnly
schema:
type: boolean
- in: query
description: return the number of devices
name: countOnly
schema:
type: boolean
example: countOnly=true
- in: query
description: Return extra information with the device information
name: deviceWithStatus
schema:
type: boolean
- 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
- in: query
description: return extended information
name: connectionStatistics
schema:
type: boolean
default: false
required: false
- in: query
description: return devices with their health value in between lowLimit and highLimit
name: health
schema:
type: boolean
default: false
required: false
- in: query
description: lowLimit for the health selection criteria
name: lowLimit
schema:
type: integer
default: 30
required: false
- in: query
description: highLimit for the health selection criteria
name: highLimits
schema:
type: integer
default: 70
required: false
responses:
200:
description: List devices
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DeviceList'
- $ref: '#/components/schemas/DeviceListWithStatus'
- $ref: '#/components/schemas/SerialNumberList'
- $ref: '#/components/schemas/DeviceCount'
- $ref: '#/components/schemas/DeviceConnectionStatistics'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Devices
summary: Delete a list of devices matching a criteria
description: Delete a list of devices matching a criteria
operationId: deleteDeviceList
parameters:
- in: query
description: Supply a list of devices comma separated
name: select
schema:
type: string
example: serial1,serial2,serial3
required: false
- in: query
description: Only simulated devices
name: simulatedOnly
schema:
type: boolean
default: false
required: false
- in: query
description: MAC address must match this pattern. Mutually exclusive with oldestContact
name: macPattern
schema:
type: string
example:
- "aabbcc*"
- "*aabbcc*"
- "*cccddee"
required: false
- in: query
description: lastRecordedContact older than this value. Mutually exclusive with macPattern
name: oldestContact
schema:
type: integer
format: int64
required: false
- in: query
description: Filter the results
name: simulatedDevices
schema:
type: boolean
required: false
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/commands:
get:
tags:
- Commands
summary: Returns a list of commands.
description: Get a list of commands.
operationId: getCommandList
parameters:
- in: query
name: serialNumber
schema:
type: string
required: false
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
- in: query
name: offset
schema:
type: integer
format: int64
- in: query
name: limit
schema:
type: integer
format: int64
- in: query
description: Selecting this option means the newest record will be returned. Use limit to select how many.
name: newest
schema:
type: boolean
required: false
responses:
200:
description: List commands
content:
application/json:
schema:
$ref: '#/components/schemas/CommandInfoList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Commands
summary: Delete some commands
operationId: deleteCommands
parameters:
- in: query
name: serialNumber
schema:
type: string
required: true
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
responses:
204:
description: Successfully deleted commands for the device.
content:
application/json:
schema:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/command/{commandUUID}:
get:
tags:
- Commands
summary: Returns a specific command.
description: Returns a specific command
operationId: getACommandDetails
parameters:
- in: path
name: commandUUID
schema:
type: string
format: uuid
required: true
responses:
200:
description: List commands
content:
application/json:
schema:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Commands
summary: Delete a specific command.
description: Delete a specific command
operationId: deleteACommand
parameters:
- in: path
name: commandUUID
schema:
type: string
format: uuid
required: true
responses:
204:
description: Delete command success
content:
application/json:
schema:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/default_configurations:
get:
tags:
- Configurations
summary: Retrieve the lists of all default configurations.
description: Retrieve the lists of all default configurations.
operationId: getDefaultConfigurations
responses:
200:
description: List of defautl configurations included
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultConfigurationList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/default_configuration/{name}:
get:
tags:
- Configurations
summary: Retrieve a default configuration.
description: Retrieve a default configuration.
operationId: getDefaultConfiguration
parameters:
- in: path
name: name
schema:
type: string
required: true
responses:
200:
description: Default configurations included
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultConfiguration'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
post:
tags:
- Configurations
summary: Create a default configuration.
description: Create a default configuration.
operationId: createDefaultConfiguration
parameters:
- in: path
name: name
schema:
type: string
required: true
requestBody:
description: Information used to create the new device
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultConfiguration'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Configurations
summary: Delete a default default configuration
description: Delete a default default configuration
operationId: deleteDefaultConfiguration
parameters:
- in: path
name: name
schema:
type: string
required: true
responses:
204:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
put:
tags:
- Configurations
summary: Update a default configuration
description: Update a default configuration
operationId: updateDefaultConfiguration
parameters:
- in: path
name: name
schema:
type: string
required: true
requestBody:
description: Configuration details
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultConfiguration'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/default_firmwares:
get:
tags:
- Firmware
summary: Retrieve the lists of all default firmwares.
description: Retrieve the lists of all default firmwares.
operationId: getDefaultFirmwares
responses:
200:
description: List of default firmwares
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultFirmwareList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/default_firmware/{deviceType}:
get:
tags:
- Firmware
summary: Retrieve a default firmware.
description: Retrieve a default firmware.
operationId: getDefaultFirmware
parameters:
- in: path
name: deviceType
schema:
type: string
required: true
responses:
200:
description: Default firmware included
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultFirmware'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
post:
tags:
- Firmware
summary: Create a default firmware.
description: Create a default firmware.
operationId: createDefaultFirmware
parameters:
- in: path
name: deviceType
schema:
type: string
required: true
requestBody:
description: Information used to create the new firmware entry
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultFirmware'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Firmware
summary: Delete a default default firmware
description: Delete a default default firmware
operationId: deleteDefaultFirmware
parameters:
- in: path
name: deviceType
schema:
type: string
required: true
responses:
204:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
put:
tags:
- Firmware
summary: Update a default firmware
description: Update a default firmware
operationId: updateDefaultFirmware
parameters:
- in: path
name: deviceType
schema:
type: string
required: true
requestBody:
description: Firmware details
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultFirmware'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}:
get:
tags:
- Devices
summary: Retrieve information for a single device.
description: Retrieve all the inforamtion about a single device
operationId: getDeviceInformation
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
responses:
200:
description: Device information
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
post:
tags:
- Devices
summary: Create a new device.
operationId: createNewDevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: validateOnly
schema:
type: boolean
required: false
requestBody:
description: Information used to create the new device
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
responses:
200:
description: Successful device creation will return the device record with the proper device ID
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
put:
tags:
- Devices
summary: Update a device.
operationId: updateNewDevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Information used to create the new device
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
responses:
200:
description: Successful device creation will return the device record with the proper device ID
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Devices
summary: Delete a single device.
operationId: deleteDevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
responses:
204:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/logs:
get:
tags:
- Commands
summary: Get the latest logs for a given device
operationId: getDeviceLogs
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
- in: query
name: offset
schema:
type: integer
format: int64
- in: query
name: limit
schema:
type: integer
format: int64
- in: query
name: logType
description: 0=any kind of logs (default) 0=normal logs, 1=crash logs, 2=reboot logs only
schema:
type: integer
format: int64
- in: query
description: Selecting this option means the newest record will be returned. Use limit to select how many.
name: newest
schema:
type: boolean
required: false
responses:
200:
description: Array of device logs for this device
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceLogList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Commands
summary: Delete some device logs.
operationId: deleteDeviceLogs
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
- in: query
name: logType
description: 0=any kind of logs (default) 1=normal logs only 2=crash logs only
schema:
type: integer
format: int64
responses:
204:
description: Successfully deleted logs for the device.
content:
application/json:
schema:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/healthchecks:
get:
tags:
- Commands
summary: Get the latest health checks for a given device.
operationId: getDeviceHealthChecks
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
required: false
- in: query
name: offset
schema:
type: integer
format: int64
required: false
- in: query
name: limit
schema:
type: integer
format: int64
required: false
- in: query
description: Selecting this option means the newest record will be returned. Use limit to select how many.
name: newest
schema:
type: boolean
required: false
- in: query
description: Selecting this option means the last healthcheck will be returned. All other parameters will be ignored.
name: lastOnly
schema:
type: boolean
required: false
responses:
200:
description: Array of device health checks for this device
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Commands
summary: Delete some device health checks.
operationId: deleteDeviceHealthChecks
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
required: false
responses:
204:
description: Successfully deleted health checks for the device.
content:
application/json:
schema:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/capabilities:
get:
tags:
- Commands
summary: Get the latest capabilities for a given device.
operationId: getDeviceCapabilities
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
responses:
200:
description: List of logs for this device
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceCapabilities'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Commands
summary: Delete the capabilities for a given device.
operationId: deleteDeviceCapabilities
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
responses:
204:
description: List of logs for this device
content:
application/json:
schema:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/statistics:
get:
tags:
- Commands
summary: Get the latest statistics for a given device.
operationId: getDeviceStats
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
required: false
- in: query
name: offset
schema:
type: integer
format: int64
required: false
- in: query
name: limit
schema:
type: integer
format: int64
required: false
- in: query
description: Selecting this option means the Last Statistics block
name: lastOnly
schema:
type: boolean
required: false
- in: query
description: Selecting this option means the newest record will be returned. Use limit to select how many.
name: newest
schema:
type: boolean
required: false
- in: query
description: Return the number of matching records.
name: countOnly
schema:
type: boolean
required: false
responses:
200:
description: Array of statistics for this device
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/StatisticsRecords'
- $ref: '#/components/schemas/DeviceCount'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Commands
summary: Get the latest statistics for a given device.
operationId: deleteDeviceStats
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: startDate
schema:
type: integer
format: int64
required: false
- in: query
name: endDate
schema:
type: integer
format: int64
required: false
responses:
204:
description: Array of statistics for this device
content:
application/json:
schema:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/status:
get:
tags:
- Commands
summary: Get the latest status for a given device.
operationId: getDeviceStatus
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
responses:
200:
description: Status for the given device
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceStatus'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/configure:
post:
tags:
- Commands
summary: Configure a device.
operationId: updateConfigurationForADevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Command details
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceConfigureRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/ping:
post:
tags:
- Commands
summary: Configure a device.
operationId: createConfigurationForADevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Command details
content:
application/json:
schema:
type: object
properties:
serialNumber:
type: string
responses:
200:
description:
Successfull ping os a device
content:
application/json:
schema:
type: object
properties:
serialNumber:
type: string
currentUTCTime:
type: integer
format: int64
deviceUTCTime:
type: integer
format: int64
latency:
type: number
configurationUUID:
type: integer
format: int64
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/upgrade:
post:
tags:
- Commands
summary: Upgrade a device.
operationId: UpgradeDeviceFirmware
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: FWsignature
schema:
type: string
required: false
requestBody:
description: Command details
content:
application/json:
schema:
$ref: '#/components/schemas/UpgradeRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/reboot:
post:
tags:
- Commands
summary: Reboot a device.
operationId: rebootDevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Command details
content:
application/json:
schema:
$ref: '#/components/schemas/RebootRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/script:
post:
tags:
- Commands
summary: Debug a device.
operationId: debugDevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Command details
content:
application/json:
schema:
$ref: '#/components/schemas/ScriptRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/factory:
post:
tags:
- Commands
summary: Factory reset a device.
operationId: factoryReset
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Command details
content:
application/json:
schema:
$ref: '#/components/schemas/FactoryRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/leds:
post:
tags:
- Commands
summary: Blink the LEDs on a device.
operationId: ledsRequest
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Command details
content:
application/json:
schema:
$ref: '#/components/schemas/LEDsRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/trace:
post:
tags:
- Commands
summary: Launch a trace for a device.
operationId: traceRequest
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Command details
content:
application/json:
schema:
$ref: '#/components/schemas/TraceRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/wifiscan:
post:
tags:
- Commands
summary: Launch a wifi scan for a device.
operationId: wifiscanRequest
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Scan details
content:
application/json:
schema:
$ref: '#/components/schemas/WifiScanRequest'
responses:
200:
$ref: '#/components/schemas/CommandInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/request:
post:
tags:
- Commands
summary: Request a specific message
operationId: messageRequest
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Message request details
content:
application/json:
schema:
$ref: '#/components/schemas/MessageRequest'
responses:
200:
$ref: '#/components/schemas/CommandSubmitSuccess'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/eventqueue:
post:
tags:
- Commands
summary: Request a list of queued events.
operationId: eventQueueRequest
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Message request details
content:
application/json:
schema:
$ref: '#/components/schemas/EventQueueRequest'
responses:
200:
$ref: '#/components/schemas/EventQueueResponse'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/telemetry:
post:
tags:
- Commands
summary: Request a telemetry stream.
operationId: eventTelemetryStreamRequest
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: statusOnly
schema:
type: boolean
default: false
required: false
requestBody:
description: Message request details
content:
application/json:
schema:
$ref: '#/components/schemas/TelemetryStreamRequest'
responses:
200:
$ref: '#/components/schemas/TelemetryStreamResponse'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/rrm:
post:
tags:
- Commands
summary: Send RRM commands to a device.
operationId: sendRRMcommandsForADevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Commands to send
content:
application/json:
schema:
$ref: '#/components/schemas/RRM_actions'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/transfer:
post:
tags:
- Commands
summary: Transfer a device to a new redirector.
operationId: transferDevice
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Transfer details
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DeviceTransferRequest'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/certupdate:
post:
tags:
- Commands
summary: Update the certificates for a device.
operationId: updateCertificates
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Certificate update details
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DeviceCertificateUpdateRequest'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/ouis:
get:
tags:
- OUIs
operationId: getOUIs
summary: Get a list of OUIs.
parameters:
- in: query
name: macList
schema:
type: string
required: true
responses:
200:
$ref: '#/components/schemas/TagValuePairList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/device/{serialNumber}/rtty:
get:
tags:
- Commands
summary: Get the rtty parameters to initiate a session.
operationId: getRttySessionInfo
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
responses:
200:
description: Session information
content:
application/json:
schema:
$ref: '#/components/schemas/RttySessionDetails'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/file/{uuid}:
get:
tags:
- Files
summary: Get a file from the upload directory.
operationId: getUploadFile
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
- in: query
name: serialNumber
schema:
type: string
required: true
responses:
200:
description: Succesfull file retrieval
content:
application/octet-stream:
schema:
type: string
format: binary
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Files
summary: Delete a file from the upload directory.
operationId: deleteUploadFidelete
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
- in: query
name: serialNumber
schema:
type: string
required: true
responses:
204:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/scripts:
get:
tags:
- Scripting
summary: Returns a list scripts.
description: Get a list of scripts.
operationId: getScripts
parameters:
- in: query
description: Pagination start (starts at 0. If not specified, 0 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
responses:
200:
description: List all scripts
content:
application/json:
schema:
$ref: '#/components/schemas/ScriptEntryList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/script/{uuid}:
get:
tags:
- Scripting
summary: Returns a script entry.
description: Get a specific script entry.
operationId: getScript
parameters:
- in: path
description: The UUID of the script
name: uuid
schema:
type: string
format: uuid
required: true
responses:
200:
description: A script entry
content:
application/json:
schema:
$ref: '#/components/schemas/ScriptEntry'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
post:
tags:
- Scripting
summary: Create a new script.
operationId: createScript
parameters:
- in: path
description: The UUID of the script. Must be set to 0 for creation
name: uuid
schema:
type: string
format: uuid
required: true
requestBody:
description: Complet script entry
content:
application/json:
schema:
$ref: '#/components/schemas/ScriptEntry'
responses:
200:
$ref: '#/components/schemas/ScriptEntry'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
put:
tags:
- Scripting
summary: Modify a script.
operationId: modifyScript
parameters:
- in: path
description: The UUID of the script.
name: uuid
schema:
type: string
format: uuid
required: true
requestBody:
description: Complete script entry. You may only modify the name, description, version, uri, and content
content:
application/json:
schema:
$ref: '#/components/schemas/ScriptEntry'
responses:
200:
$ref: '#/components/schemas/ScriptEntry'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Scripting
summary: Delete a script.
operationId: deleteScript
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
responses:
204:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/blacklist:
get:
tags:
- Blacklist
summary: Returns a list blacklisted devices.
description: Get a list of blacklisted devices.
operationId: getBlacklistDeviceList
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
responses:
200:
description: List blacklisted devices
content:
application/json:
schema:
$ref: '#/components/schemas/BlackDeviceList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/blacklist/{serialNumber}:
get:
tags:
- Blacklist
summary: Returns a blacklist entry.
description: Get a list of blacklisted devices.
operationId: getBlacklistDevice
parameters:
- in: path
description: Pagination start (starts at 1. If not specified, 1 is assumed)
name: serialNumber
schema:
type: string
required: true
responses:
200:
description: List blacklisted devices
content:
application/json:
schema:
$ref: '#/components/schemas/BlackDeviceInfo'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
post:
tags:
- Blacklist
summary: Create to the blacklist.
operationId: createBlackListDevice
parameters:
- in: path
description: Pagination start (starts at 1. If not specified, 1 is assumed)
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Add blacklisted device
content:
application/json:
schema:
$ref: '#/components/schemas/BlackDeviceInfo'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
put:
tags:
- Blacklist
summary: Modify to the blacklist.
operationId: modifyBlackList
parameters:
- in: path
description: Pagination start (starts at 1. If not specified, 1 is assumed)
name: serialNumber
schema:
type: string
required: true
requestBody:
description: Add blacklisted devices
content:
application/json:
schema:
$ref: '#/components/schemas/BlackDeviceInfo'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
delete:
tags:
- Blacklist
summary: Delete from the blacklist.
operationId: deleteFromBlackList
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
responses:
204:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/capabilities:
get:
tags:
- Devices
summary: Get the list of device types and capabilities.
operationId: getCapabilitiesList
responses:
200:
description: Successful command execution
content:
application/json:
schema:
$ref: '#/components/schemas/CapabilitiesModelList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/radiusProxyConfig:
get:
tags:
- RADIUSProxy
summary: Retrieve RADIUS Proxy configuration.
operationId: getRadiusProxyConfig
responses:
200:
$ref: '#/components/schemas/RadiusProxyPoolList'
403:
$ref: '#/components/responses/Unauthorized'
put:
tags:
- RADIUSProxy
summary: Modify RADIUS Proxy configuration.
operationId: modifyRadiusProxyConfig
requestBody:
description: Change RADIUS configuration pool config
content:
application/json:
schema:
$ref: '#/components/schemas/RadiusProxyPoolList'
responses:
200:
$ref: '#/components/schemas/RadiusProxyPoolList'
403:
$ref: '#/components/responses/Unauthorized'
delete:
tags:
- RADIUSProxy
summary: Delete RADIUS Proxy configuration.
operationId: deleteRadiusProxyConfig
responses:
204:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
/radiusSessions/{serialNumber}:
get:
tags:
- Radius Sessions
summary: Retrieve the RADIUS sessions for a given AP
operationId: getAPRadiusSessions
parameters:
- in: path
name: serialNumber
schema:
type: string
example: for searches or listing only serial number, set the serialNumber to 0
required: true
- in: query
name: serialNumberOnly
schema:
type: boolean
required: false
- in: query
name: userName
schema:
type: string
required: false
- in: query
name: mac
schema:
type: string
required: false
example: aa:bb:cc:dd:ee:ff
responses:
200:
description: AP List
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/RadiusSessionList'
- $ref: '#/components/schemas/SerialNumberList'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
put:
tags:
- Radius Sessions
summary: Retrieve the RADIUS sessions for a given AP
operationId: putAPRadiusSessions
parameters:
- in: path
name: serialNumber
schema:
type: string
required: true
- in: query
name: operation
schema:
type: string
enum:
- coadm
- disconnectUser
requestBody:
description: operationParameters
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/RadiusCoADMParameters'
responses:
200:
$ref: '#/components/responses/Success'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/deviceDashboard:
get:
tags:
- Dashboards
summary: Get the last version of the dashboard.
operationId: getDeviceDashboard
responses:
200:
$ref: '#/components/schemas/DeviceDashboard'
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
/iptocountry:
get:
tags:
- Utility
summary: Get the country code for an IP address
operationId: getIpToCountry
parameters:
- in: query
name: iplist
schema:
type: string
example:
10.2.2.2,10.3.4.3
required: true
responses:
200:
description: List of country codes.
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
countryCodes:
type: array
items:
type: string
403:
$ref: '#/components/responses/Unauthorized'
404:
$ref: '#/components/responses/NotFound'
#########################################################################################
##
## These are endpoints that all services in the uCentral 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'
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'