OpenWiFi
2.9.0
2.9.0
  • OpenWiFi Release 2.9
  • ABOUT
    • About OpenWiFi
    • Supported Hardware
    • Device Partner Information
    • Cloud Partner Information
    • Ordering OpenWiFi APs
    • Example Partner Integrations
    • Contributing
  • OPENWIFI STACK
    • Overview
    • SDK
    • Access Points
      • Local Device Settings
    • Cloud Discovery
      • Discovery without Cloud
    • Code Repositories
    • Artifacts
  • SDK
    • Getting Started
    • Architecture
    • Provisioning for Integrators
      • Data Model Introduction
      • Creating a Configuration
    • User Interface for Admins
      • Provisioning
        • Creating Entities
          • Configurations
            • Metrics Settings Example
        • Creating Venues
          • Configurations
            • WAN
            • VAP - SSID
      • Inventory Association
      • Gateway
      • Devices
        • Commands
        • Statistics
        • Command History
      • Firmware
    • Monitoring
      • ELK Integration
  • RELEASE
    • What's New
    • Features
    • Security Updates
    • Resolved Issues
    • Outstanding Items
    • Testing Results
  • SDK Installation
    • Overview
    • Deploy using Docker Compose
    • Deploy using Helm
  • Device Feature Configuration Examples
    • Basic Device Provisioning
      • Bridge Mode SSID
      • NAT Gateway Mode SSID
      • Multi-VLAN SSID
    • Advanced Device Feature Configuration Examples
      • Zero Touch Provisioning
      • DHCP Relay
      • Services
      • Metrics
      • GRE
      • L2TP
      • VxLAN
      • WDS
      • Mesh
      • QoS
      • Dynamic Air Time Fairness
      • Advanced Captive Portal
        • External Captive Portal
      • Roaming RRM and SON
      • RADIUS Authenticated SSID
        • Dynamic VLANs with RADIUS
        • WISPr Subscriber Bandwidth
        • Dynamic Multi PSK
        • RADIUS MAC-Auth
      • Multi-PSK (MDU Shared Key)
      • Wireguard
      • Dynamic Air-Time Policy
      • Opportunistic Wireless Encryption (OWE)
      • Passpointยฎ
        • Configuration Introduction
        • Advertising Services
        • Passpointยฎ Configuration
      • Restricted Unit Support
  • DEVELOPER RESOURCES
    • SDK API
      • OpenAPI Definitions
      • Security Service
      • Gateway Service
      • Firmware Management Service
      • Provisioning Service
      • Analytics Service
      • Radio Resource Management Service
      • Postman Collection
    • SDK KAFKA
      • Connection
      • Device Event Queue
      • Device Telemetry
      • Healthcheck
      • Provisioning Change
      • Service Events
      • State
      • WiFi Scan
Powered by GitBook
On this page
  1. DEVELOPER RESOURCES
  2. SDK API

Gateway Service

PreviousSecurity ServiceNextFirmware Management Service

Last updated 2 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

orderBystringOptional

return extended information

Example: serialNumber:a,created:d
orderSpecbooleanOptional

return extended information

Default: false
connectionStatisticsbooleanOptional

return extended information

Default: false
Responses
200
List devices
application/json
Responseone of
or
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",
      "subscriber": "123e4567-e89b-12d3-a456-426614174000",
      "entity": "123e4567-e89b-12d3-a456-426614174000",
      "modified": 1,
      "locale": "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",
  "subscriber": "123e4567-e89b-12d3-a456-426614174000",
  "entity": "123e4567-e89b-12d3-a456-426614174000",
  "modified": 1,
  "locale": "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
lastOnlybooleanOptional

Selecting this option means the Last Statistics block

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
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: */*
{
  "device_types": [
    {
      "deviceType": "text",
      "capabilities": "text"
    }
  ]
}

Retrieve RADIUS Proxy configuration.

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

No content

Delete RADIUS Proxy configuration.

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

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

Get the country code for an IP address

get
Authorizations
Query parameters
ipliststringRequiredExample: 10.2.2.2,10.3.4.3
Responses
200
List of country codes.
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/iptocountry HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Accept: */*
{
  "enabled": true,
  "countryCodes": [
    "text"
  ]
}

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.
  • POSTConfigure a device.
  • POSTUpgrade a device.
  • POSTReboot a device.
  • POSTDebug 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.
  • GETRetrieve RADIUS Proxy configuration.
  • PUTModify RADIUS Proxy configuration.
  • DELETEDelete RADIUS Proxy configuration.
  • GETGet the last version of the dashboard.
  • GETGet the country code for an IP address
  • 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
modelIdsstring[]Optional
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: 108

{
  "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
modelIdsstring[]Optional
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: 108

{
  "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
subscriberstring ยท uuidOptional
entitystring ยท uuidOptional
modifiedinteger ยท int64Optional
localestring ยท min: 2 ยท max: 2Optional
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: 566

{
  "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",
  "subscriber": "123e4567-e89b-12d3-a456-426614174000",
  "entity": "123e4567-e89b-12d3-a456-426614174000",
  "modified": 1,
  "locale": "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",
  "subscriber": "123e4567-e89b-12d3-a456-426614174000",
  "entity": "123e4567-e89b-12d3-a456-426614174000",
  "modified": 1,
  "locale": "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
subscriberstring ยท uuidOptional
entitystring ยท uuidOptional
modifiedinteger ยท int64Optional
localestring ยท min: 2 ยท max: 2Optional
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: 566

{
  "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",
  "subscriber": "123e4567-e89b-12d3-a456-426614174000",
  "entity": "123e4567-e89b-12d3-a456-426614174000",
  "modified": 1,
  "locale": "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",
  "subscriber": "123e4567-e89b-12d3-a456-426614174000",
  "entity": "123e4567-e89b-12d3-a456-426614174000",
  "modified": 1,
  "locale": "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

Configure a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
Responses
200
Successfull ping os a 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
post
POST /api/v1/device/{serialNumber}/ping HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "serialNumber": "text"
}
{
  "serialNumber": "text",
  "currentUTCTime": 1,
  "deviceUTCTime": 1,
  "latency": 1,
  "configurationUUID": 1
}

Upgrade a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
uristringOptional
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}/upgrade HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 67

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

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

Debug a device.

post
Authorizations
Path parameters
serialNumberstringRequired
Body
serialNumberstringOptional
timeoutinteger ยท int64OptionalDefault: 30
typestring ยท enumOptionalPossible values:
scriptstringOptional
scriptIdstring ยท uuidOptional
wheninteger ยท int64OptionalDefault: 0
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}/script HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 124

{
  "serialNumber": "text",
  "timeout": 30,
  "type": "uci",
  "script": "text",
  "scriptId": "123e4567-e89b-12d3-a456-426614174000",
  "when": 0
}

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
iesinteger[]Optional
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: 93

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

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
Query parameters
statusOnlybooleanOptionalDefault: false
Body
serialNumberstringOptional
intervalintegerOptional

0 - means to stop streaming, values 1-120 in seconds.

lifetimeinteger ยท int64Optional

how long should the telemetry run

kafkabooleanOptional

set to true to start kafka telemetry, false to start websocket telemetry

Default: false
uuidstring ยท uuidOptional

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: 135

{
  "serialNumber": "text",
  "interval": 1,
  "lifetime": 1,
  "kafka": false,
  "types": [
    "dhcp-snooping"
  ],
  "uuid": "123e4567-e89b-12d3-a456-426614174000"
}

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
}

Modify RADIUS Proxy configuration.

put
Authorizations
Body
Responses
200Success
403
The requested does not have sufficient rights to perform the operation.
application/json
put
PUT /api/v1/radiusProxyConfig HTTP/1.1
Host: localhost:16001
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 1109

{
  "pools": [
    {
      "name": "text",
      "description": "text",
      "authConfig": {
        "strategy": "random",
        "monitor": false,
        "monitorMethod": "none",
        "methodParameters": [
          "text"
        ],
        "servers": [
          {
            "name": "text",
            "ip": "text",
            "port": 1,
            "weight": 1,
            "secret": "text",
            "certificate": "text",
            "radsec": false,
            "radsecPort": 1,
            "radsecSecret": "text",
            "radsecCacerts": [
              "text"
            ],
            "radsecCert": "text",
            "radsecKey": "text",
            "radsecRealms": [
              "text"
            ],
            "ignore": false
          }
        ]
      },
      "acctConfig": {
        "strategy": "random",
        "monitor": false,
        "monitorMethod": "none",
        "methodParameters": [
          "text"
        ],
        "servers": [
          {
            "name": "text",
            "ip": "text",
            "port": 1,
            "weight": 1,
            "secret": "text",
            "certificate": "text",
            "radsec": false,
            "radsecPort": 1,
            "radsecSecret": "text",
            "radsecCacerts": [
              "text"
            ],
            "radsecCert": "text",
            "radsecKey": "text",
            "radsecRealms": [
              "text"
            ],
            "ignore": false
          }
        ]
      },
      "coaConfig": {
        "strategy": "random",
        "monitor": false,
        "monitorMethod": "none",
        "methodParameters": [
          "text"
        ],
        "servers": [
          {
            "name": "text",
            "ip": "text",
            "port": 1,
            "weight": 1,
            "secret": "text",
            "certificate": "text",
            "radsec": false,
            "radsecPort": 1,
            "radsecSecret": "text",
            "radsecCacerts": [
              "text"
            ],
            "radsecCert": "text",
            "radsecKey": "text",
            "radsecRealms": [
              "text"
            ],
            "ignore": false
          }
        ]
      }
    }
  ]
}

No content

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"
    }
  ]
}