Firmware Management 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
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
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
}

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

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.

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
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.

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

No content

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

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

Last updated