OpenWiFi
2.11.0
2.11.0
  • OpenWiFi Release 2.11
  • 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

Firmware Management Service

PreviousGateway ServiceNextProvisioning Service

Returns a list of firmwares.

get

Get a list of firmwares.

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

latestOnlybooleanOptional

Return only the latest firmware

Default: false
deviceTypestringOptional
revisionSetbooleanOptionalDefault: false
deviceSetbooleanOptional
rcOnlybooleanOptionalDefault: false
Responses
200
List firmwares
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/firmwares HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "firmwares": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "deviceType": "text",
      "description": "text",
      "revision": "text",
      "uri": "https://example.com",
      "image": "text",
      "imageDate": 1,
      "size": 1,
      "downloadCount": 1,
      "firmwareHash": "text",
      "owner": "text",
      "location": "https://example.com",
      "uploader": "text",
      "digest": "text",
      "latest": true,
      "notes": [
        {
          "created": 1,
          "createdBy": "text",
          "note": "text"
        }
      ],
      "created": 1
    }
  ]
}

Returns a Firmware

get

Get a Firmware.

Authorizations
Path parameters
idstring · uuidRequired
Responses
200
A Firmware definition
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/firmware/{id} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "deviceType": "text",
  "description": "text",
  "revision": "text",
  "uri": "https://example.com",
  "image": "text",
  "imageDate": 1,
  "size": 1,
  "downloadCount": 1,
  "firmwareHash": "text",
  "owner": "text",
  "location": "https://example.com",
  "uploader": "text",
  "digest": "text",
  "latest": true,
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "created": 1
}

Delete some Firmware

delete
Authorizations
Path parameters
idstring · uuidRequired
Responses
204
Successfully deleted Firmware 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/firmware/{id} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*

No content

List all the defined device revision history

get
Authorizations
Path parameters
serialNumberstringRequired
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

currentListbooleanOptional

Return current device list and current firmware

Default: falseExample: You must set {serialNumber} to 000000000000
unknownListbooleanOptional

Return current device list and current firmware

Default: falseExample: You must set {serialNumber} to 000000000000
Responses
200
List of device history upgrade.
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/revisionHistory/{serialNumber} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "history": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "serialNumber": "text",
      "revisionId": "123e4567-e89b-12d3-a456-426614174000",
      "upgraded": 1,
      "fromRelease": "text",
      "toRelease": "text",
      "commandUUID": "123e4567-e89b-12d3-a456-426614174000"
    }
  ]
}

Delete specific hostory elements for a device

delete
Authorizations
Path parameters
serialNumberstringRequired
Query parameters
idstring · uuidRequired

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

Responses
204
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/revisionHistory/{serialNumber} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*

No content

Calculate how old a version of firmware is.

get
Authorizations
Query parameters
revisionstringRequired

The exact current verion of the firmware on that device.

deviceTypestringRequired

The exact current verion of the firmware on that device.

selectstringOptional

Specify lits of serial numbers to retrive age for

Example: select=serial1,serial2,serial4,serial5.
Responses
200
The recommended latest version to update to.
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/firmwareAge HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "latestId": "text",
  "image": "text",
  "imageDate": 1,
  "revision": "text",
  "uri": "https://example.com",
  "age": "this is in seconds. a 0 means we cannot determine the age. something like 'unknown' should be shown to the user.",
  "latest": true
}

Get a list of connected devices and some values.

get
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 firmwares
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/connectedDevices HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "devices": [
    {
      "serialNumber": "text",
      "revision": "text",
      "deviceType": "text",
      "endPoint": "https://example.com",
      "lastUpdate": 1,
      "status": "connected"
    }
  ]
}

Get status of a connected device.

get
Authorizations
Path parameters
serialNumberstringRequired

SerialNumber of the device

Responses
200
Get information about a connected 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/connectedDevice/{serialNumber} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "serialNumber": "text",
  "revision": "text",
  "deviceType": "text",
  "endPoint": "https://example.com",
  "lastUpdate": 1,
  "status": "connected"
}

get an analysis of the existing devices we know about.

get
Authorizations
Responses
200
A full analysis report
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/deviceReport HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "snapshot": 1,
  "numberOfDevices": 1,
  "ouis": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  },
  "revisions": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  },
  "deviceTypes": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  },
  "status": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  },
  "endPoints": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  },
  "unknownFirmwares": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  },
  "usingLatest": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  },
  "totalSecondsOld": {
    "tagList": [
      {
        "tag": "text",
        "value": 1
      }
    ]
  }
}

receive a repor on a single decide

get
Authorizations
Path parameters
serialNumberstringRequiredExample: aabbccdd1234
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/deviceInformation/{serialNumber} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Accept: */*

No content

Retrieve different values from the running service.

get
Authorizations
Query parameters
commandstring · enumRequired

Get a value

Possible values:
Responses
200
Successfull 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:16003
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "version": "text",
  "uptime": 1,
  "start": 1,
  "os": "text",
  "processors": 1,
  "hostname": "text",
  "certificates": [
    {
      "filename": "text",
      "expires": 1
    }
  ]
}
  • GETReturns a list of firmwares.
  • GETReturns a Firmware
  • POSTCreate A New firmware
  • PUTUpdate A New firmware
  • DELETEDelete some Firmware
  • GETList all the defined device revision history
  • DELETEDelete specific hostory elements for a device
  • GETCalculate how old a version of firmware is.
  • GETGet a list of connected devices and some values.
  • GETGet status of a connected device.
  • GETget an analysis of the existing devices we know about.
  • GETreceive a repor on a single decide
  • GETRetrieve different values from the running service.
  • POSTPerform some system wide commands

Create A New firmware

post
Authorizations
Path parameters
idstring · uuidRequired
Body

Definition of a firmware release

idstring · uuidOptional
deviceTypestringOptional
descriptionstringOptional
revisionstringOptional
uristring · uriOptional
imagestringOptional
imageDateinteger · int64Optional
sizeinteger · int64Optional
downloadCountinteger · int64Optional
firmwareHashstringOptional
ownerstringOptional
locationstring · uriOptional
uploaderstringOptional
digeststringOptional
latestbooleanOptional
createdinteger · int64Optional
Responses
200
Created a firmware entry.
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/firmware/{id} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 375

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "deviceType": "text",
  "description": "text",
  "revision": "text",
  "uri": "https://example.com",
  "image": "text",
  "imageDate": 1,
  "size": 1,
  "downloadCount": 1,
  "firmwareHash": "text",
  "owner": "text",
  "location": "https://example.com",
  "uploader": "text",
  "digest": "text",
  "latest": true,
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "created": 1
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "deviceType": "text",
  "description": "text",
  "revision": "text",
  "uri": "https://example.com",
  "image": "text",
  "imageDate": 1,
  "size": 1,
  "downloadCount": 1,
  "firmwareHash": "text",
  "owner": "text",
  "location": "https://example.com",
  "uploader": "text",
  "digest": "text",
  "latest": true,
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "created": 1
}

Update A New firmware

put
Authorizations
Path parameters
idstring · uuidRequired
Body

Definition of a firmware release

idstring · uuidOptional
deviceTypestringOptional
descriptionstringOptional
revisionstringOptional
uristring · uriOptional
imagestringOptional
imageDateinteger · int64Optional
sizeinteger · int64Optional
downloadCountinteger · int64Optional
firmwareHashstringOptional
ownerstringOptional
locationstring · uriOptional
uploaderstringOptional
digeststringOptional
latestbooleanOptional
createdinteger · int64Optional
Responses
200
Successfully updated firmware
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/firmware/{id} HTTP/1.1
Host: localhost:16003
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 375

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "deviceType": "text",
  "description": "text",
  "revision": "text",
  "uri": "https://example.com",
  "image": "text",
  "imageDate": 1,
  "size": 1,
  "downloadCount": 1,
  "firmwareHash": "text",
  "owner": "text",
  "location": "https://example.com",
  "uploader": "text",
  "digest": "text",
  "latest": true,
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "created": 1
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "deviceType": "text",
  "description": "text",
  "revision": "text",
  "uri": "https://example.com",
  "image": "text",
  "imageDate": 1,
  "size": 1,
  "downloadCount": 1,
  "firmwareHash": "text",
  "owner": "text",
  "location": "https://example.com",
  "uploader": "text",
  "digest": "text",
  "latest": true,
  "notes": [
    {
      "created": 1,
      "createdBy": "text",
      "note": "text"
    }
  ],
  "created": 1
}

Perform some system wide commands

post
Authorizations
Body
one ofOptional
or
or
or
or
Responses
200
Successfull 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:16003
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70

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