OpenWiFi
2.4.0
2.4.0
  • OpenWiFi Release 2.4 GA
  • Ordering OpenWiFi APs
  • Device Partner Information
  • Cloud Partner Information
  • Getting Started
    • Cloud Discovery
      • Discovery without Cloud
    • Release 2.0 SDK
    • Access Points
      • Local Device Settings
    • Repositories
  • Provisioning
    • Data Model Introduction
    • Creating a Configuration
  • User Interface
    • Devices
      • Commands
      • Statistics
      • Command History
    • Firmware
  • API
    • OpenAPI Definitions
    • Security Service
    • Gateway Service
    • Firmware Management Service
  • Monitoring
    • ELK Integration
  • SDK Installation
    • Overview
    • Deploy using Docker Compose
    • Deploy using Helm
  • Configuration Examples
    • Basic Device Provisioning
      • Bridge Mode SSID
      • NAT Gateway Mode SSID
      • Multi-VLAN SSID
    • Device Feature Configuration Examples
      • Zero Touch Provisioning
      • DHCP Relay
      • Services
      • Metrics
      • GRE
      • L2TP
      • VxLAN
      • WDS
      • Mesh
      • QoS
      • Dynamic Air Time Fairness
      • Dynamic Subscriber QoS
      • Captive Portal
        • External Captive Portal
      • ExpressWiFi
      • Roaming RRM and SON
      • RADIUS Authenticated SSID
        • Dynamic VLANs with RADIUS
      • Multi-PSK (MDU Shared Key)
      • Dynamic Air-Time Policy
      • Passpoint®
        • Configuration Introduction
        • Advertising Services
        • Passpoint® Configuration
      • Switching
        • Port Speed
  • Release Notes
    • Features
    • Security
    • Resolved Issues
  • Test Automation Framework
    • Overview
Powered by GitBook
On this page
  1. API

Gateway Service

PreviousSecurity ServiceNextFirmware Management Service

Last updated 3 years ago

Returns a list of devices.

get

Get a list of devices.

Authorizations
Query parameters
offsetintegerOptional

Pagination start (starts at 1. If not specified, 1 is assumed)

limitintegerOptional

Maximum number of entries to return (if absent, no limit is assumed)

filterstringOptional

Filter the results

selectstringOptional

Supply a list of devices comma separated

Example: serial1,serial2,serial3
serialOnlybooleanOptional

only serial numbers of full device details

countOnlybooleanOptional

return the number of devices

Example: countOnly=true
deviceWithStatusbooleanOptional

Return extra information with the device information

Responses
200
List devices
application/json
Responseone of
or
or
or
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/devices HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "devices": [
    {
      "owner": "123e4567-e89b-12d3-a456-426614174000",
      "location": "123e4567-e89b-12d3-a456-426614174000",
      "venue": "123e4567-e89b-12d3-a456-426614174000",
      "serialNumber": "text",
      "deviceType": "AP",
      "macAddress": "text",
      "manufacturer": "text",
      "UUID": 1,
      "configuration": "text",
      "notes": [
        {
          "created": 1,
          "createdBy": "text",
          "note": "text"
        }
      ],
      "createdTimestamp": 1,
      "lastConfigurationChange": 1,
      "lastConfigurationDownload": 1,
      "firmware": "text",
      "devicePassword": "text"
    }
  ]
}

Returns a list of commands.

get

Get a list of commands.

Authorizations
Query parameters
serialNumberstringOptional
startDateinteger · int64Optional
endDateinteger · int64Optional
offsetinteger · int64Optional
limitinteger · int64Optional
newestbooleanOptional

Selecting this option means the newest record will be returned. Use limit to select how many.

Responses
200
List commands
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/commands HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "commands": [
    {
      "UUID": "123e4567-e89b-12d3-a456-426614174000",
      "command": "text",
      "details": "text",
      "serialNumber": "text",
      "submitted": 1,
      "executed": 1,
      "completed": 1,
      "when": 1,
      "errorText": "text",
      "results": "text",
      "errorCode": 1,
      "submittedBy": "text",
      "status": "text",
      "custom": 1,
      "waitingForFile": 1,
      "attachFile": 1,
      "attachSize": 1,
      "attachType": "text"
    }
  ]
}

Delete some commands

delete
Authorizations
Query parameters
serialNumberstringRequired
startDateinteger · int64Optional
endDateinteger · int64Optional
Responses
204
Successfully deleted commands for the device.
application/json
Responseany

The requested operation was performed.

403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/commands HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Returns a specific command.

get

Returns a specific command

Authorizations
Path parameters
commandUUIDstring · uuidRequired
Responses
200
List commands
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/command/{commandUUID} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "UUID": "123e4567-e89b-12d3-a456-426614174000",
  "command": "text",
  "details": "text",
  "serialNumber": "text",
  "submitted": 1,
  "executed": 1,
  "completed": 1,
  "when": 1,
  "errorText": "text",
  "results": "text",
  "errorCode": 1,
  "submittedBy": "text",
  "status": "text",
  "custom": 1,
  "waitingForFile": 1,
  "attachFile": 1,
  "attachSize": 1,
  "attachType": "text"
}

Delete a specific command.

delete

Delete a specific command

Authorizations
Path parameters
commandUUIDstring · uuidRequired
Responses
204
Delete command success
application/json
Responseany

The requested operation was performed.

403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/command/{commandUUID} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Retrieve the lists of all default configurations.

get

Retrieve the lists of all default configurations.

Authorizations
Responses
200
List of defautl configurations included
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/default_configurations HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "configurations": [
    {
      "name": "text",
      "modelIds": "text",
      "description": "text",
      "configuration": "text",
      "created": 1,
      "lastModified": 1
    }
  ]
}

Retrieve a default configuration.

get

Retrieve a default configuration.

Authorizations
Path parameters
namestringRequired
Responses
200
Default configurations included
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/default_configuration/{name} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "name": "text",
  "modelIds": "text",
  "description": "text",
  "configuration": "text",
  "created": 1,
  "lastModified": 1
}

Delete a default default configuration

delete

Delete a default default configuration

Authorizations
Path parameters
namestringRequired
Responses
204
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/default_configuration/{name} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Retrieve information for a single device.

get

Retrieve all the inforamtion about a single device

Authorizations
Path parameters
serialNumberstringRequired
Responses
200
Device information
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/device/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "owner": "123e4567-e89b-12d3-a456-426614174000",
  "location": "123e4567-e89b-12d3-a456-426614174000",
  "venue": "123e4567-e89b-12d3-a456-426614174000",
  "serialNumber": "text",
  "deviceType": "AP",
  "macAddress": "text",
  "manufacturer": "text",
  "UUID": 1,
  "configuration": "text",
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "createdTimestamp": 1,
  "lastConfigurationChange": 1,
  "lastConfigurationDownload": 1,
  "firmware": "text",
  "devicePassword": "text"
}

Delete a single device.

delete
Authorizations
Path parameters
serialNumberstringRequired
Responses
204
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/device/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Get the latest logs for a given device

get
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
startDateinteger · int64Optional
endDateinteger · int64Optional
offsetinteger · int64Optional
limitinteger · int64Optional
logTypeinteger · int64Optional

0=any kind of logs (default) 0=normal logs only 1=crash logs only

newestbooleanOptional

Selecting this option means the newest record will be returned. Use limit to select how many.

Responses
200
Array of device logs for this device
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/device/{serialNumber}/logs HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "serialNumber": "text",
  "values": [
    {
      "log": "text",
      "recorded": 1,
      "severity": 1,
      "data": "text",
      "logType": 1,
      "UUID": 1
    }
  ]
}

Delete some device logs.

delete
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
startDateinteger · int64Optional
endDateinteger · int64Optional
logTypeinteger · int64Optional

0=any kind of logs (default) 1=normal logs only 2=crash logs only

Responses
204
Successfully deleted logs for the device.
application/json
Responseany

The requested operation was performed.

403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/device/{serialNumber}/logs HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Get the latest health checks for a given device.

get
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
startDateinteger · int64Optional
endDateinteger · int64Optional
offsetinteger · int64Optional
limitinteger · int64Optional
newestbooleanOptional

Selecting this option means the newest record will be returned. Use limit to select how many.

lastOnlybooleanOptional

Selecting this option means the last healthcheck will be returned. All other parameters will be ignored.

Responses
200
Array of device health checks for this device
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/device/{serialNumber}/healthchecks HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "serialNumber": "text",
  "values": [
    {
      "UUID": 1,
      "sanity": 1,
      "data": "text",
      "recorded": 1
    }
  ]
}

Delete some device health checks.

delete
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
startDateinteger · int64Optional
endDateinteger · int64Optional
Responses
204
Successfully deleted health checks for the device.
application/json
Responseany

The requested operation was performed.

403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/device/{serialNumber}/healthchecks HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Get the latest capabilities for a given device.

get
Authorizations
Path parameters
serialNumberstringRequired
Responses
200
List of logs for this device
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/device/{serialNumber}/capabilities HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "serialNumber": "text",
  "capabilities": "text",
  "lastUpdate": 1,
  "firstUpdate": 1
}

Delete the capabilities for a given device.

delete
Authorizations
Path parameters
serialNumberstringRequired
Responses
204
List of logs for this device
application/json
Responseany

The requested operation was performed.

403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/device/{serialNumber}/capabilities HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Get the latest statistics for a given device.

get
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
startDateinteger · int64Optional
endDateinteger · int64Optional
offsetinteger · int64Optional
limitinteger · int64Optional
lifetimebooleanOptional

Selecting this option means the LifetimeStatistics will be returned. All other parameters will be ignored.

lastOnlybooleanOptional

Selecting this option means the LifetimeStatistics will be returned. All other parameters will be ignored.

newestbooleanOptional

Selecting this option means the newest record will be returned. Use limit to select how many.

Responses
200
Array of statistics for this device
application/json
Responseone of
or
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/device/{serialNumber}/statistics HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "serialNumber": "text",
  "values": [
    {
      "serialNumber": "text",
      "recorded": 1,
      "UUID": 1,
      "data": "text"
    }
  ]
}

Get the latest statistics for a given device.

delete
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
startDateinteger · int64Optional
endDateinteger · int64Optional
Responses
204
Array of statistics for this device
application/json
Responseany

The requested operation was performed.

403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/device/{serialNumber}/statistics HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Get the latest status for a given device.

get
Authorizations
Path parameters
serialNumberstringRequired
Responses
200
Status for the given device
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/device/{serialNumber}/status HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "serialNumber": "text",
  "ipAddress": "text",
  "txBytes": 1,
  "rxBytes": 1,
  "messageCount": 1,
  "UUID": 1,
  "connected": true,
  "lastContact": 1,
  "firmware": "text",
  "associations_2G": 1,
  "associations_5G": 1,
  "verifiedCertificate": "NO_CERTIFICATE,"
}

Get a list of OUIs.

get
Authorizations
Query parameters
macListstringRequired
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/ouis HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Get the rtty parameters to initiate a session.

get
Authorizations
Path parameters
serialNumberstringRequired
Responses
200
Session information
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/device/{serialNumber}/rtty HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "serialNumber": "text",
  "server": "text",
  "port": 1,
  "token": "text",
  "timeout": 1,
  "connectionId": "text",
  "started": 1,
  "commandUUID": "text",
  "viewport": 1,
  "password": "text"
}

Get a file from the upload directory.

get
Authorizations
Path parameters
uuidstring · uuidRequired
Query parameters
serialNumberstringRequired
Responses
200
Succesfull file retrieval
application/octet-stream
Responsestring · binary
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/file/{uuid} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
binary

Delete a file from the upload directory.

delete
Authorizations
Path parameters
uuidstring · uuidRequired
Query parameters
serialNumberstringRequired
Responses
204
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/file/{uuid} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Returns a list blacklisted devices.

get

Get a list of blacklisted devices.

Authorizations
Query parameters
offsetintegerOptional

Pagination start (starts at 1. If not specified, 1 is assumed)

limitintegerOptional

Maximum number of entries to return (if absent, no limit is assumed)

filterstringOptional

Filter the results

Responses
200
List blacklisted devices
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/blacklist HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "devices": [
    {
      "serialNumber": "text",
      "created": 1,
      "author": "text",
      "reason": "text"
    }
  ]
}

Returns a blacklist entry.

get

Get a list of blacklisted devices.

Authorizations
Path parameters
serialNumberstringRequired

Pagination start (starts at 1. If not specified, 1 is assumed)

Responses
200
List blacklisted devices
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/blacklist/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "serialNumber": "text",
  "created": 1,
  "author": "text",
  "reason": "text"
}

Delete from the blacklist.

delete
Authorizations
Path parameters
serialNumberstringRequired
Responses
204
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
delete
DELETE /api/v1/blacklist/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Get the list of device types and capabilities.

get
Authorizations
Responses
200
Successful command execution
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/capabilities HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "devices": [
    {
      "deviceType": "text",
      "capabilities": "text"
    }
  ]
}

Get the last version of the dashboard.

get
Authorizations
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/deviceDashboard HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*

No content

Retrieve different values from the running service.

get
Authorizations
Query parameters
commandstring · enumRequired

Get a value

Possible values:
Responses
200
Successful command execution
application/json
Responseone of
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
get
GET /api/v1/system HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "version": "text",
  "uptime": 1,
  "start": 1,
  "os": "text",
  "processors": 1,
  "hostname": "text",
  "certificates": [
    {
      "filename": "text",
      "expires": 1
    }
  ]
}
  • GETReturns a list of devices.
  • GETReturns a list of commands.
  • DELETEDelete some commands
  • GETReturns a specific command.
  • DELETEDelete a specific command.
  • GETRetrieve the lists of all default configurations.
  • GETRetrieve a default configuration.
  • POSTCreate a default configuration.
  • PUTUpdate a default configuration
  • DELETEDelete a default default configuration
  • GETRetrieve information for a single device.
  • POSTCreate a new device.
  • PUTUpdate a device.
  • DELETEDelete a single device.
  • GETGet the latest logs for a given device
  • DELETEDelete some device logs.
  • GETGet the latest health checks for a given device.
  • DELETEDelete some device health checks.
  • GETGet the latest capabilities for a given device.
  • DELETEDelete the capabilities for a given device.
  • GETGet the latest statistics for a given device.
  • DELETEGet the latest statistics for a given device.
  • GETGet the latest status for a given device.
  • POSTPost a command to a device
  • POSTConfigure a device.
  • POSTUpgrade a device.
  • POSTReboot a device.
  • POSTFactory reset a device.
  • POSTBlink the LEDs on a device.
  • POSTLaunch a trace for a device.
  • POSTLaunch a wifi scan for a device.
  • POSTRequest a specific message
  • POSTRequest a list of queued events.
  • POSTRequest a telemetry stream.
  • GETGet a list of OUIs.
  • GETGet the rtty parameters to initiate a session.
  • GETGet a file from the upload directory.
  • DELETEDelete a file from the upload directory.
  • GETReturns a list blacklisted devices.
  • GETReturns a blacklist entry.
  • POSTCreate to the blacklist.
  • PUTModify to the blacklist.
  • DELETEDelete from the blacklist.
  • GETGet the list of device types and capabilities.
  • GETGet the last version of the dashboard.
  • GETRetrieve different values from the running service.
  • POSTPerform some system wide commands.

Create a default configuration.

post

Create a default configuration.

Authorizations
Path parameters
namestringRequired
Body
namestringOptional
modelIdsstringOptional
descriptionstringOptional
configurationstringOptional
createdinteger · int64Optional
lastModifiedinteger · int64Optional
Responses
200
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/default_configuration/{name} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 106

{
  "name": "text",
  "modelIds": "text",
  "description": "text",
  "configuration": "text",
  "created": 1,
  "lastModified": 1
}
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Update a default configuration

put

Update a default configuration

Authorizations
Path parameters
namestringRequired
Body
namestringOptional
modelIdsstringOptional
descriptionstringOptional
configurationstringOptional
createdinteger · int64Optional
lastModifiedinteger · int64Optional
Responses
200
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
put
PUT /api/v1/default_configuration/{name} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 106

{
  "name": "text",
  "modelIds": "text",
  "description": "text",
  "configuration": "text",
  "created": 1,
  "lastModified": 1
}
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Create a new device.

post
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
validateOnlybooleanOptional
Body

Definition of uCentral device

ownerstring · uuidOptional
locationstring · uuidOptional
venuestring · uuidOptional
serialNumberstringOptional
deviceTypestring · enumRequiredDefault: APPossible values:
macAddressstringOptional
manufacturerstringOptional
UUIDinteger · int64Optional
configurationstringOptional
createdTimestampinteger · int64Optional
lastConfigurationChangeinteger · int64Optional
lastConfigurationDownloadinteger · int64Optional
firmwarestringOptional
devicePasswordstringOptional
Responses
200
Successful device creation will return the device record with the proper device ID
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 437

{
  "owner": "123e4567-e89b-12d3-a456-426614174000",
  "location": "123e4567-e89b-12d3-a456-426614174000",
  "venue": "123e4567-e89b-12d3-a456-426614174000",
  "serialNumber": "text",
  "deviceType": "AP",
  "macAddress": "text",
  "manufacturer": "text",
  "UUID": 1,
  "configuration": "text",
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "createdTimestamp": 1,
  "lastConfigurationChange": 1,
  "lastConfigurationDownload": 1,
  "firmware": "text",
  "devicePassword": "text"
}
{
  "owner": "123e4567-e89b-12d3-a456-426614174000",
  "location": "123e4567-e89b-12d3-a456-426614174000",
  "venue": "123e4567-e89b-12d3-a456-426614174000",
  "serialNumber": "text",
  "deviceType": "AP",
  "macAddress": "text",
  "manufacturer": "text",
  "UUID": 1,
  "configuration": "text",
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "createdTimestamp": 1,
  "lastConfigurationChange": 1,
  "lastConfigurationDownload": 1,
  "firmware": "text",
  "devicePassword": "text"
}

Update a device.

put
Authorizations
Path parameters
serialNumberstringRequired
Body

Definition of uCentral device

ownerstring · uuidOptional
locationstring · uuidOptional
venuestring · uuidOptional
serialNumberstringOptional
deviceTypestring · enumRequiredDefault: APPossible values:
macAddressstringOptional
manufacturerstringOptional
UUIDinteger · int64Optional
configurationstringOptional
createdTimestampinteger · int64Optional
lastConfigurationChangeinteger · int64Optional
lastConfigurationDownloadinteger · int64Optional
firmwarestringOptional
devicePasswordstringOptional
Responses
200
Successful device creation will return the device record with the proper device ID
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
put
PUT /api/v1/device/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 437

{
  "owner": "123e4567-e89b-12d3-a456-426614174000",
  "location": "123e4567-e89b-12d3-a456-426614174000",
  "venue": "123e4567-e89b-12d3-a456-426614174000",
  "serialNumber": "text",
  "deviceType": "AP",
  "macAddress": "text",
  "manufacturer": "text",
  "UUID": 1,
  "configuration": "text",
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "createdTimestamp": 1,
  "lastConfigurationChange": 1,
  "lastConfigurationDownload": 1,
  "firmware": "text",
  "devicePassword": "text"
}
{
  "owner": "123e4567-e89b-12d3-a456-426614174000",
  "location": "123e4567-e89b-12d3-a456-426614174000",
  "venue": "123e4567-e89b-12d3-a456-426614174000",
  "serialNumber": "text",
  "deviceType": "AP",
  "macAddress": "text",
  "manufacturer": "text",
  "UUID": 1,
  "configuration": "text",
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "createdTimestamp": 1,
  "lastConfigurationChange": 1,
  "lastConfigurationDownload": 1,
  "firmware": "text",
  "devicePassword": "text"
}

Post a command to a device

post
Authorizations
Path parameters
serialNumberstringRequired
Body
commandstringOptional
payloadstringOptional
wheninteger · int64Optional
serialNumberstringOptional
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/command HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 66

{
  "command": "text",
  "payload": "text",
  "when": 1,
  "serialNumber": "text"
}

No content

Configure a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
UUIDinteger · int64Optional
configurationstringOptional
wheninteger · int64Optional
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/configure HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 64

{
  "serialNumber": "text",
  "UUID": 1,
  "configuration": "text",
  "when": 1
}

No content

Upgrade a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
uristringOptional
serialNumberstringOptional
wheninteger · int64Optional
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/upgrade HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "uri": "text",
  "serialNumber": "text",
  "when": 1
}

No content

Reboot a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
wheninteger · int64Optional
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/reboot HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 32

{
  "serialNumber": "text",
  "when": 1
}

No content

Factory reset a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
wheninteger · int64Optional
keepRedirectorbooleanOptional
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/factory HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 54

{
  "serialNumber": "text",
  "when": 1,
  "keepRedirector": true
}

No content

Blink the LEDs on a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
wheninteger · int64Optional
durationinteger · int64Optional

only applies to the blink pattern

patternstring · enumOptionalPossible values:
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/leds HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 60

{
  "serialNumber": "text",
  "when": 1,
  "duration": 1,
  "pattern": "on"
}

No content

Launch a trace for a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
wheninteger · int64Optional
durationinteger · int64Optional
numberOfPacketsinteger · int64Optional
networkstringOptional
interfacestringOptional
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/trace HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 101

{
  "serialNumber": "text",
  "when": 1,
  "duration": 1,
  "numberOfPackets": 1,
  "network": "text",
  "interface": "text"
}

No content

Launch a wifi scan for a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringRequired
verbosebooleanOptional
activeScanbooleanOptional
selectorone ofOptional
or
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/wifiscan HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 83

{
  "serialNumber": "text",
  "verbose": true,
  "activeScan": true,
  "selector": {
    "bands": [
      "2"
    ]
  }
}

No content

Request a specific message

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
wheninteger · int64Optional
messagestring · enumOptionalPossible values:
Responses
200
The command was submitted succesfully.
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/request HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 50

{
  "serialNumber": "text",
  "when": 1,
  "message": "state"
}

No content

Request a list of queued events.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/eventqueue HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "serialNumber": "text",
  "types": [
    "dhcp"
  ]
}

No content

Request a telemetry stream.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
intervalintegerOptionalExample: 0 - means to stop streaming, values 1-120 in seconds.
uuidstringOptionalExample: only valid when terminating a stream
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/device/{serialNumber}/telemetry HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 162

{
  "serialNumber": "text",
  "interval": "0 - means to stop streaming, values 1-120 in seconds.",
  "types": [
    "dhcp-snooping"
  ],
  "uuid": "only valid when terminating a stream"
}

No content

Create to the blacklist.

post
Authorizations
Path parameters
serialNumberstringRequired

Pagination start (starts at 1. If not specified, 1 is assumed)

Body
serialNumberstringOptional
createdinteger · int64Read-onlyOptional
authorstringRead-onlyOptional
reasonstringOptional
Responses
200
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/blacklist/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "serialNumber": "text",
  "reason": "text"
}
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Modify to the blacklist.

put
Authorizations
Path parameters
serialNumberstringRequired

Pagination start (starts at 1. If not specified, 1 is assumed)

Body
serialNumberstringOptional
createdinteger · int64Read-onlyOptional
authorstringRead-onlyOptional
reasonstringOptional
Responses
200
The requested operation was performed.
application/json
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
put
PUT /api/v1/blacklist/{serialNumber} HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "serialNumber": "text",
  "reason": "text"
}
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Perform some system wide commands.

post
Authorizations
Body
one ofOptional
or
or
or
or
Responses
200
Successful command execution
application/json
Responseone of
or
or
403
The requested does not have sufficient rights to perform the operation.
application/json
404
The specified resource was not found.
application/json
post
POST /api/v1/system HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "command": "setloglevel",
  "subsystems": [
    {
      "tag": "text",
      "value": "text"
    }
  ]
}
{
  "taglist": [
    {
      "tag": "text",
      "value": "text"
    }
  ]
}