Digi onPrem Manager API API Reference

API for retrieving and writing data to the Digi onPrem Manager database

API Endpoint
https://api.nettec.no/v1
Contact: dom@nettec.no
Response Content-Types: application/json
Schemes: https
Version: 1.4

Authentication

apiKeyRO

Per user API read only key for Doppler

type
apiKey
name
Authorization
in
header

apiKeyRW

Per user API read and write key for Doppler

type
apiKey
name
Authorization
in
header

routerExtId

Per router public key

type
apiKey
name
routerExtId
in
query

Paths

GET /router_by_ext_id/{ext_id}

Returns a router based on it's external public ID if it is available

ext_id: string
in path

ext_id of router to get

200 OK

Router response

default

unexpected error

Response Example (200 OK)
{
  "id": "integer (int64)",
  "slno": "string",
  "custom_id": "string",
  "custom_ref": "string",
  "display_name": "string",
  "alias": "string",
  "online": "integer (int32)",
  "last_seen_unixtime": "integer (int64)",
  "uptime": "integer (int64)",
  "reboots_24h": "integer (int32)",
  "reboots_30d": "integer (int32)",
  "url": "string",
  "subscription_name": "string",
  "license_expiry": "string",
  "temperature": {
    "celsius": "number (float)",
    "fahrenheit": "number (float)"
  },
  "temperature_ext": {
    "celsius": "number (float)",
    "fahrenheit": "number (float)"
  },
  "cellular": {
    "signal": "number (float)",
    "technology": "string",
    "technology_group": "string",
    "network": "string",
    "mcc": "integer (int64)",
    "mnc": "integer (int64)",
    "cell_id": "integer (int64)",
    "iccid": "string",
    "msisdn": "string"
  },
  "data_usage": {
    "usage_today": "integer (int64)",
    "usage_current_month": "integer (int64)",
    "limit_month": "integer (int64)"
  },
  "wan": {
    "ping": "integer (int64)",
    "ip4": "string",
    "override": "string",
    "uptime_ppp": "integer (int64)",
    "ppp_restarts_24h": "integer (int32)",
    "ppp_restarts_30d": "integer (int32)",
    "ddns": "string",
    "default_route": "string"
  },
  "group": {
    "id": "integer (int32)",
    "name": "string",
    "path": "string",
    "logo": "string",
    "notes": "string"
  },
  "location": {
    "latitude": "number",
    "longitude": "number",
    "from": "string",
    "range": "number",
    "heading": "number"
  },
  "lan_clients": [
    {
      "hwaddr": "string",
      "last_seen": {
        "router": "#/definitions/Router",
        "unixtime": "integer (int64)",
        "hostname": "string",
        "eth": "integer (int32)",
        "ip": "string"
      }
    }
  ],
  "dx_version": "string",
  "modem": {
    "manufacturer": "string",
    "model": "string",
    "modem_model": "string",
    "modem_fw": "string"
  },
  "router_type": {
    "code": "string",
    "firmware_version": "string",
    "os": "string",
    "short": "string",
    "vendor": "string"
  },
  "maintenance": {
    "created": "integer (int64)",
    "expiry": "integer (int64)",
    "message": "string",
    "user": {
      "id": "integer (int32)",
      "name": "string",
      "username": "string"
    }
  },
  "warnings": {
    "code": "string",
    "description": "string",
    "id": "integer (int32)",
    "muted_by": "string",
    "muted_timestamp": "integer (int32)",
    "occurred": "integer (int32)"
  }
}
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

GET /router

Returns all routers from the system that the user has access to

display_name: string
in query

filter by display_name

group_id: integer (int32)
in query

filter by group_id

slno: string
in query

filter by slno

custom_id: string
in query

filter by custom_id

custom_ref: string
in query

filter by custom_ref

label: string
in query

filter by a comma separated list of labels to retrieve routers that match all specified labels

iccid: string
in query

filter by ICCID

sets: string
in query

"all" for all sections, "short" for few sections, or a comma separated list with sections like "custom_id,custom_ref,alias,cellular,data_usage,enabled,group,labels,lan_clients,location,modem,reboot_24h,reboot_30d,router_type,temperature,temperature_ext,wan,maintenance,warnings"

200 OK

List of Routers

default

unexpected error

Response Example (200 OK)
[
  {
    "id": "integer (int64)",
    "slno": "string",
    "display_name": "string",
    "online": "integer (int32)",
    "last_seen_unixtime": "integer (int64)",
    "group": {
      "id": "integer (int32)",
      "name": "string",
      "path": "string",
      "logo": "string",
      "notes": "string"
    },
    "location": {
      "latitude": "number",
      "longitude": "number",
      "from": "string",
      "range": "number",
      "heading": "number"
    }
  }
]
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

GET /inbox

Returns all routers from the inbox that the user has access to

200 OK

List of Routers in the inbox

default

unexpected error

Response Example (200 OK)
[
  {
    "slno": "string",
    "display_name": "string",
    "router_type_code": "string",
    "ip": "string",
    "mac": "string",
    "first_seen": "string",
    "last_seen": "string",
    "seen_count": "integer (int32)",
    "group_id": "integer (int32)",
    "status": "string"
  }
]
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

POST /inbox

Allow or reject a router based on it's serial number, if the user has access to this router

JSON data with status to set

slno: string
in path

Serial number of router to allow or reject

Request Content-Types: application/json
Request Example
{
  "status": "string"
}

ID of allowed router or serial number of rejected router

default

unexpected error

Response Example (200 OK)
[
  {
    "id": "integer (int64)",
    "slno": "string"
  }
]
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

DELETE /inbox

Delete a router from the inbox based on it's serial number, if the user has access to this router

slno: string
in path

Serial number of router to delete

Serial number of deleted router

default

unexpected error

Response Example (200 OK)
{
  "slno": "string"
}
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

GET /router/{id}

Returns a router based on it's ID, if the user has access to this router

id: integer (int64)
in path

ID of router to get

sets: string
in query

"short" for few sections or a comma separated list with sections like "custom_id,custom_ref,alias,cellular,data_usage,enabled,group,labels,lan_clients,location,modem,router_type,temperature,temperature_ext,wan,maintenance,warnings"

200 OK

Router response

default

unexpected error

Response Example (200 OK)
{
  "id": "integer (int64)",
  "slno": "string",
  "custom_id": "string",
  "custom_ref": "string",
  "display_name": "string",
  "alias": "string",
  "online": "integer (int32)",
  "last_seen_unixtime": "integer (int64)",
  "uptime": "integer (int64)",
  "reboots_24h": "integer (int32)",
  "reboots_30d": "integer (int32)",
  "url": "string",
  "subscription_name": "string",
  "license_expiry": "string",
  "temperature": {
    "celsius": "number (float)",
    "fahrenheit": "number (float)"
  },
  "temperature_ext": {
    "celsius": "number (float)",
    "fahrenheit": "number (float)"
  },
  "cellular": {
    "signal": "number (float)",
    "technology": "string",
    "technology_group": "string",
    "network": "string",
    "mcc": "integer (int64)",
    "mnc": "integer (int64)",
    "cell_id": "integer (int64)",
    "iccid": "string",
    "msisdn": "string"
  },
  "data_usage": {
    "usage_today": "integer (int64)",
    "usage_current_month": "integer (int64)",
    "limit_month": "integer (int64)"
  },
  "wan": {
    "ping": "integer (int64)",
    "ip4": "string",
    "override": "string",
    "uptime_ppp": "integer (int64)",
    "ppp_restarts_24h": "integer (int32)",
    "ppp_restarts_30d": "integer (int32)",
    "ddns": "string",
    "default_route": "string"
  },
  "group": {
    "id": "integer (int32)",
    "name": "string",
    "path": "string",
    "logo": "string",
    "notes": "string"
  },
  "location": {
    "latitude": "number",
    "longitude": "number",
    "from": "string",
    "range": "number",
    "heading": "number"
  },
  "lan_clients": [
    {
      "hwaddr": "string",
      "last_seen": {
        "router": "#/definitions/Router",
        "unixtime": "integer (int64)",
        "hostname": "string",
        "eth": "integer (int32)",
        "ip": "string"
      }
    }
  ],
  "dx_version": "string",
  "modem": {
    "manufacturer": "string",
    "model": "string",
    "modem_model": "string",
    "modem_fw": "string"
  },
  "router_type": {
    "code": "string",
    "firmware_version": "string",
    "os": "string",
    "short": "string",
    "vendor": "string"
  },
  "maintenance": {
    "created": "integer (int64)",
    "expiry": "integer (int64)",
    "message": "string",
    "user": {
      "id": "integer (int32)",
      "name": "string",
      "username": "string"
    }
  },
  "warnings": {
    "code": "string",
    "description": "string",
    "id": "integer (int32)",
    "muted_by": "string",
    "muted_timestamp": "integer (int32)",
    "occurred": "integer (int32)"
  }
}
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

POST /router/{id}

Sets a router's values based on it's ID, if the user has access to this router

JSON data with values to set

id: integer (int64)
in path

ID of router to set

Request Content-Types: application/json
Request Example
{
  "alias": "string",
  "display_name": "string",
  "custom_id": "string",
  "custom_ref": "string",
  "enabled": "integer (int32)",
  "labels": [
    "string"
  ],
  "license_expiry": "string",
  "location_override": {
    "latitude": "number (float)",
    "longitude": "number (float)"
  },
  "cellular": {
    "msisdn": "string"
  },
  "notes": "string",
  "subscription_name": "string",
  "url": "string",
  "group": {
    "id": "integer (int32)"
  },
  "wan": {
    "override": "string"
  }
}

Router response

default

unexpected error

Response Example (200 OK)
{
  "changes": {
    "alias": "string",
    "display_name": "string",
    "custom_id": "string",
    "custom_ref": "string",
    "enabled": "integer (int32)",
    "labels": [
      "string"
    ],
    "license_expiry": "string",
    "location_override": {
      "latitude": "number (float)",
      "longitude": "number (float)"
    },
    "cellular": {
      "msisdn": "string"
    },
    "notes": "string",
    "subscription_name": "string",
    "url": "string",
    "group": {
      "id": "integer (int32)"
    },
    "wan": {
      "override": "string"
    }
  }
}
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

DELETE /router/{id}

Removes a router based on it's ID, if the user has access to this router

id: integer (int64)
in path

ID of router to remove

Router response

default

unexpected error

Response Example (200 OK)
{
  "id": "integer (int64)"
}
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

POST /router/add

Adds a new router object based on it's serial number, if the user has access to the provided group

JSON data with values to set. SLNO and group ID is required

Request Content-Types: application/json
Request Example
{
  "alias": "string",
  "display_name": "string",
  "custom_id": "string",
  "custom_ref": "string",
  "enabled": "integer (int32)",
  "labels": [
    "string"
  ],
  "license_expiry": "string",
  "location_override": {
    "latitude": "number (float)",
    "longitude": "number (float)"
  },
  "cellular": {
    "msisdn": "string"
  },
  "notes": "string",
  "slno": "string",
  "subscription_name": "string",
  "url": "string",
  "group": {
    "id": "integer (int32)"
  },
  "wan": {
    "override": "string"
  }
}

Router response

default

unexpected error

Response Example (200 OK)
{
  "changes": {
    "alias": "string",
    "display_name": "string",
    "custom_id": "string",
    "custom_ref": "string",
    "enabled": "integer (int32)",
    "labels": [
      "string"
    ],
    "license_expiry": "string",
    "location_override": {
      "latitude": "number (float)",
      "longitude": "number (float)"
    },
    "cellular": {
      "msisdn": "string"
    },
    "notes": "string",
    "slno": "string",
    "subscription_name": "string",
    "url": "string",
    "group": {
      "id": "integer (int32)"
    },
    "wan": {
      "override": "string"
    }
  }
}
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

GET /router/{id}/lan_clients

Returns lan clients recently associated with the router

id: integer (int64)
in path

ID of router to get

200 OK

Router response

type
default

unexpected error

Response Example (200 OK)
[
  {
    "hwaddr": "string",
    "last_seen": {
      "router": {
        "id": "integer (int64)",
        "slno": "string",
        "custom_id": "string",
        "custom_ref": "string",
        "display_name": "string",
        "alias": "string",
        "online": "integer (int32)",
        "last_seen_unixtime": "integer (int64)",
        "uptime": "integer (int64)",
        "reboots_24h": "integer (int32)",
        "reboots_30d": "integer (int32)",
        "url": "string",
        "subscription_name": "string",
        "license_expiry": "string",
        "temperature": {
          "celsius": "number (float)",
          "fahrenheit": "number (float)"
        },
        "temperature_ext": {
          "celsius": "number (float)",
          "fahrenheit": "number (float)"
        },
        "cellular": {
          "signal": "number (float)",
          "technology": "string",
          "technology_group": "string",
          "network": "string",
          "mcc": "integer (int64)",
          "mnc": "integer (int64)",
          "cell_id": "integer (int64)",
          "iccid": "string",
          "msisdn": "string"
        },
        "data_usage": {
          "usage_today": "integer (int64)",
          "usage_current_month": "integer (int64)",
          "limit_month": "integer (int64)"
        },
        "wan": {
          "ping": "integer (int64)",
          "ip4": "string",
          "override": "string",
          "uptime_ppp": "integer (int64)",
          "ppp_restarts_24h": "integer (int32)",
          "ppp_restarts_30d": "integer (int32)",
          "ddns": "string",
          "default_route": "string"
        },
        "group": {
          "id": "integer (int32)",
          "name": "string",
          "path": "string",
          "logo": "string",
          "notes": "string"
        },
        "location": {
          "latitude": "number",
          "longitude": "number",
          "from": "string",
          "range": "number",
          "heading": "number"
        },
        "lan_clients": [
          "#/definitions/LANClient"
        ],
        "dx_version": "string",
        "modem": {
          "manufacturer": "string",
          "model": "string",
          "modem_model": "string",
          "modem_fw": "string"
        },
        "router_type": {
          "code": "string",
          "firmware_version": "string",
          "os": "string",
          "short": "string",
          "vendor": "string"
        },
        "maintenance": {
          "created": "integer (int64)",
          "expiry": "integer (int64)",
          "message": "string",
          "user": {
            "id": "integer (int32)",
            "name": "string",
            "username": "string"
          }
        },
        "warnings": {
          "code": "string",
          "description": "string",
          "id": "integer (int32)",
          "muted_by": "string",
          "muted_timestamp": "integer (int32)",
          "occurred": "integer (int32)"
        }
      },
      "unixtime": "integer (int64)",
      "hostname": "string",
      "eth": "integer (int32)",
      "ip": "string"
    }
  }
]
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

GET /lan_client/{hwaddr}

Returns a LAN Client based on it's hardware address (hwaddr)

hwaddr: string
in path

hwaddr (mac address) of device to search for specified in ":" or "-" separated MAC-48 format

200 OK

LANClient response

default

Unexpected error, or not found

Response Example (200 OK)
{
  "hwaddr": "string",
  "last_seen": {
    "router": {
      "id": "integer (int64)",
      "slno": "string",
      "custom_id": "string",
      "custom_ref": "string",
      "display_name": "string",
      "alias": "string",
      "online": "integer (int32)",
      "last_seen_unixtime": "integer (int64)",
      "uptime": "integer (int64)",
      "reboots_24h": "integer (int32)",
      "reboots_30d": "integer (int32)",
      "url": "string",
      "subscription_name": "string",
      "license_expiry": "string",
      "temperature": {
        "celsius": "number (float)",
        "fahrenheit": "number (float)"
      },
      "temperature_ext": {
        "celsius": "number (float)",
        "fahrenheit": "number (float)"
      },
      "cellular": {
        "signal": "number (float)",
        "technology": "string",
        "technology_group": "string",
        "network": "string",
        "mcc": "integer (int64)",
        "mnc": "integer (int64)",
        "cell_id": "integer (int64)",
        "iccid": "string",
        "msisdn": "string"
      },
      "data_usage": {
        "usage_today": "integer (int64)",
        "usage_current_month": "integer (int64)",
        "limit_month": "integer (int64)"
      },
      "wan": {
        "ping": "integer (int64)",
        "ip4": "string",
        "override": "string",
        "uptime_ppp": "integer (int64)",
        "ppp_restarts_24h": "integer (int32)",
        "ppp_restarts_30d": "integer (int32)",
        "ddns": "string",
        "default_route": "string"
      },
      "group": {
        "id": "integer (int32)",
        "name": "string",
        "path": "string",
        "logo": "string",
        "notes": "string"
      },
      "location": {
        "latitude": "number",
        "longitude": "number",
        "from": "string",
        "range": "number",
        "heading": "number"
      },
      "lan_clients": [
        "#/definitions/LANClient"
      ],
      "dx_version": "string",
      "modem": {
        "manufacturer": "string",
        "model": "string",
        "modem_model": "string",
        "modem_fw": "string"
      },
      "router_type": {
        "code": "string",
        "firmware_version": "string",
        "os": "string",
        "short": "string",
        "vendor": "string"
      },
      "maintenance": {
        "created": "integer (int64)",
        "expiry": "integer (int64)",
        "message": "string",
        "user": {
          "id": "integer (int32)",
          "name": "string",
          "username": "string"
        }
      },
      "warnings": {
        "code": "string",
        "description": "string",
        "id": "integer (int32)",
        "muted_by": "string",
        "muted_timestamp": "integer (int32)",
        "occurred": "integer (int32)"
      }
    },
    "unixtime": "integer (int64)",
    "hostname": "string",
    "eth": "integer (int32)",
    "ip": "string"
  }
}
Response Example (default )
{
  "code": "integer (int32)",
  "message": "string"
}

Schema Definitions

RouterInbox:

slno: string

Serial number, unique per device

display_name: string
router_type_code: string
ip: string
mac: string
first_seen: string
last_seen: string
seen_count: integer (int32)
group_id: integer (int32)
status: string

Inbox status, inbox or rejected

Example
{
  "slno": "string",
  "display_name": "string",
  "router_type_code": "string",
  "ip": "string",
  "mac": "string",
  "first_seen": "string",
  "last_seen": "string",
  "seen_count": "integer (int32)",
  "group_id": "integer (int32)",
  "status": "string"
}

RouterSummary:

id: integer (int64)

ID identifying one router

slno: string

serial number, unique per device

display_name: string
online: integer (int32)

1 if online, 0 if offline

last_seen_unixtime: integer (int64)

when we last heard from the router, can be -1 in case not heard

group: Group
location: Location
Example
{
  "id": "integer (int64)",
  "slno": "string",
  "display_name": "string",
  "online": "integer (int32)",
  "last_seen_unixtime": "integer (int64)",
  "group": {
    "id": "integer (int32)",
    "name": "string",
    "path": "string",
    "logo": "string",
    "notes": "string"
  },
  "location": {
    "latitude": "number",
    "longitude": "number",
    "from": "string",
    "range": "number",
    "heading": "number"
  }
}

Router:

id: integer (int64)

ID identifying one router

slno: string

serial number, unique per device

custom_id: string

custom ID, unique per device

custom_ref: string

custom reference

display_name: string
alias: string
online: integer (int32)

1 if online, 0 if offline

last_seen_unixtime: integer (int64)

when we last heard from the router, can be -1 in case not heard

uptime: integer (int64)

system uptime

reboots_24h: integer (int32)

number of system reboots in the last 24 hour period

reboots_30d: integer (int32)

number of system reboots in the last 30 day period

ipsec: object

ipsec status, 1 if up, 0 if down, null if not defined

url: string

URL associated with router

subscription_name: string

Subscription name associated with router

license_expiry: string

Router license expiry date

temperature: Temperature
temperature_ext: Temperature
cellular: RouterCellular
data_usage: RouterDataUsage
wan: RouterWAN
group: Group
location: Location
lan_clients: LANClient
LANClient
dx_version: string
modem: Modem
router_type: RouterType
maintenance: Maintenance
warnings: Warnings
Example
{
  "id": "integer (int64)",
  "slno": "string",
  "custom_id": "string",
  "custom_ref": "string",
  "display_name": "string",
  "alias": "string",
  "online": "integer (int32)",
  "last_seen_unixtime": "integer (int64)",
  "uptime": "integer (int64)",
  "reboots_24h": "integer (int32)",
  "reboots_30d": "integer (int32)",
  "url": "string",
  "subscription_name": "string",
  "license_expiry": "string",
  "temperature": {
    "celsius": "number (float)",
    "fahrenheit": "number (float)"
  },
  "temperature_ext": {
    "celsius": "number (float)",
    "fahrenheit": "number (float)"
  },
  "cellular": {
    "signal": "number (float)",
    "technology": "string",
    "technology_group": "string",
    "network": "string",
    "mcc": "integer (int64)",
    "mnc": "integer (int64)",
    "cell_id": "integer (int64)",
    "iccid": "string",
    "msisdn": "string"
  },
  "data_usage": {
    "usage_today": "integer (int64)",
    "usage_current_month": "integer (int64)",
    "limit_month": "integer (int64)"
  },
  "wan": {
    "ping": "integer (int64)",
    "ip4": "string",
    "override": "string",
    "uptime_ppp": "integer (int64)",
    "ppp_restarts_24h": "integer (int32)",
    "ppp_restarts_30d": "integer (int32)",
    "ddns": "string",
    "default_route": "string"
  },
  "group": {
    "id": "integer (int32)",
    "name": "string",
    "path": "string",
    "logo": "string",
    "notes": "string"
  },
  "location": {
    "latitude": "number",
    "longitude": "number",
    "from": "string",
    "range": "number",
    "heading": "number"
  },
  "lan_clients": [
    {
      "hwaddr": "string",
      "last_seen": {
        "router": {
          "id": "integer (int64)",
          "slno": "string",
          "custom_id": "string",
          "custom_ref": "string",
          "display_name": "string",
          "alias": "string",
          "online": "integer (int32)",
          "last_seen_unixtime": "integer (int64)",
          "uptime": "integer (int64)",
          "reboots_24h": "integer (int32)",
          "reboots_30d": "integer (int32)",
          "url": "string",
          "subscription_name": "string",
          "license_expiry": "string",
          "temperature": {
            "celsius": "number (float)",
            "fahrenheit": "number (float)"
          },
          "temperature_ext": {
            "celsius": "number (float)",
            "fahrenheit": "number (float)"
          },
          "cellular": {
            "signal": "number (float)",
            "technology": "string",
            "technology_group": "string",
            "network": "string",
            "mcc": "integer (int64)",
            "mnc": "integer (int64)",
            "cell_id": "integer (int64)",
            "iccid": "string",
            "msisdn": "string"
          },
          "data_usage": {
            "usage_today": "integer (int64)",
            "usage_current_month": "integer (int64)",
            "limit_month": "integer (int64)"
          },
          "wan": {
            "ping": "integer (int64)",
            "ip4": "string",
            "override": "string",
            "uptime_ppp": "integer (int64)",
            "ppp_restarts_24h": "integer (int32)",
            "ppp_restarts_30d": "integer (int32)",
            "ddns": "string",
            "default_route": "string"
          },
          "group": {
            "id": "integer (int32)",
            "name": "string",
            "path": "string",
            "logo": "string",
            "notes": "string"
          },
          "location": {
            "latitude": "number",
            "longitude": "number",
            "from": "string",
            "range": "number",
            "heading": "number"
          },
          "lan_clients": [
            "#/definitions/LANClient"
          ],
          "dx_version": "string",
          "modem": {
            "manufacturer": "string",
            "model": "string",
            "modem_model": "string",
            "modem_fw": "string"
          },
          "router_type": {
            "code": "string",
            "firmware_version": "string",
            "os": "string",
            "short": "string",
            "vendor": "string"
          },
          "maintenance": {
            "created": "integer (int64)",
            "expiry": "integer (int64)",
            "message": "string",
            "user": {
              "id": "integer (int32)",
              "name": "string",
              "username": "string"
            }
          },
          "warnings": {
            "code": "string",
            "description": "string",
            "id": "integer (int32)",
            "muted_by": "string",
            "muted_timestamp": "integer (int32)",
            "occurred": "integer (int32)"
          }
        },
        "unixtime": "integer (int64)",
        "hostname": "string",
        "eth": "integer (int32)",
        "ip": "string"
      }
    }
  ],
  "dx_version": "string",
  "modem": {
    "manufacturer": "string",
    "model": "string",
    "modem_model": "string",
    "modem_fw": "string"
  },
  "router_type": {
    "code": "string",
    "firmware_version": "string",
    "os": "string",
    "short": "string",
    "vendor": "string"
  },
  "maintenance": {
    "created": "integer (int64)",
    "expiry": "integer (int64)",
    "message": "string",
    "user": {
      "id": "integer (int32)",
      "name": "string",
      "username": "string"
    }
  },
  "warnings": {
    "code": "string",
    "description": "string",
    "id": "integer (int32)",
    "muted_by": "string",
    "muted_timestamp": "integer (int32)",
    "occurred": "integer (int32)"
  }
}

RouterUpdate:

alias: string
display_name: string
custom_id: string

custom ID, unique per device

custom_ref: string

custom reference

enabled: integer (int32)
labels: Label
Label
license_expiry: string
location_override: object

fixed location latitude and longitude

latitude: number (float)
longitude: number (float)
cellular: object
msisdn: string
notes: string
subscription_name: string
url: string
group: object
id: integer (int32)
wan: object
override: string
Example
{
  "alias": "string",
  "display_name": "string",
  "custom_id": "string",
  "custom_ref": "string",
  "enabled": "integer (int32)",
  "labels": [
    "string"
  ],
  "license_expiry": "string",
  "location_override": {
    "latitude": "number (float)",
    "longitude": "number (float)"
  },
  "cellular": {
    "msisdn": "string"
  },
  "notes": "string",
  "subscription_name": "string",
  "url": "string",
  "group": {
    "id": "integer (int32)"
  },
  "wan": {
    "override": "string"
  }
}

RouterAdd:

alias: string
display_name: string
custom_id: string

custom ID, unique per device

custom_ref: string

custom reference

enabled: integer (int32)
labels: Label
Label
license_expiry: string
location_override: object

fixed location latitude and longitude

latitude: number (float)
longitude: number (float)
cellular: object
msisdn: string
notes: string
slno: string
subscription_name: string
url: string
group: object
id: integer (int32)
wan: object
override: string
Example
{
  "alias": "string",
  "display_name": "string",
  "custom_id": "string",
  "custom_ref": "string",
  "enabled": "integer (int32)",
  "labels": [
    "string"
  ],
  "license_expiry": "string",
  "location_override": {
    "latitude": "number (float)",
    "longitude": "number (float)"
  },
  "cellular": {
    "msisdn": "string"
  },
  "notes": "string",
  "slno": "string",
  "subscription_name": "string",
  "url": "string",
  "group": {
    "id": "integer (int32)"
  },
  "wan": {
    "override": "string"
  }
}

RouterUpdateResponse:

id: object

ID identifying the router being updated

changes: RouterUpdate

The properties which have been changed

Example
{
  "changes": {
    "alias": "string",
    "display_name": "string",
    "custom_id": "string",
    "custom_ref": "string",
    "enabled": "integer (int32)",
    "labels": [
      "string"
    ],
    "license_expiry": "string",
    "location_override": {
      "latitude": "number (float)",
      "longitude": "number (float)"
    },
    "cellular": {
      "msisdn": "string"
    },
    "notes": "string",
    "subscription_name": "string",
    "url": "string",
    "group": {
      "id": "integer (int32)"
    },
    "wan": {
      "override": "string"
    }
  }
}

RouterAddResponse:

id: object

ID identifying the new router object

changes: RouterAdd

The properties which have been added to the new router object

Example
{
  "changes": {
    "alias": "string",
    "display_name": "string",
    "custom_id": "string",
    "custom_ref": "string",
    "enabled": "integer (int32)",
    "labels": [
      "string"
    ],
    "license_expiry": "string",
    "location_override": {
      "latitude": "number (float)",
      "longitude": "number (float)"
    },
    "cellular": {
      "msisdn": "string"
    },
    "notes": "string",
    "slno": "string",
    "subscription_name": "string",
    "url": "string",
    "group": {
      "id": "integer (int32)"
    },
    "wan": {
      "override": "string"
    }
  }
}

RouterRemoveResponse:

id: integer (int64)

ID identifying the removed router object

Example
{
  "id": "integer (int64)"
}

InboxUpdate:

status: string

Status to set

Example
{
  "status": "string"
}

InboxUpdateResponse:

id: integer (int64)

ID identifying the allowed router object

slno: string

Serial number identifying the rejected router

Example
{
  "id": "integer (int64)",
  "slno": "string"
}

InboxDeleteResponse:

slno: string

Serial number identifying the deleted router

Example
{
  "slno": "string"
}

Temperature:

celsius: number (float)

Router temperature in celsius

fahrenheit: number (float)

Router temperature in fahrenheit

Example
{
  "celsius": "number (float)",
  "fahrenheit": "number (float)"
}

RouterDataUsage:

usage_today: integer (int64)

Data usage today in bytes

usage_current_month: integer (int64)

Data usage current month in bytes

limit_month: integer (int64)

Monthly data limit for this router in bytes

Example
{
  "usage_today": "integer (int64)",
  "usage_current_month": "integer (int64)",
  "limit_month": "integer (int64)"
}

RouterWAN:

ping: integer (int64)

Latency measurement (ms)

ip4: string

IP4 address of WAN PPP interface

override: string

Override IP4 address of WAN PPP interface

uptime_ppp: integer (int64)

PPP uptime in seconds

ppp_restarts_24h: integer (int32)

number of PPP restarts in the last 24 hour period

ppp_restarts_30d: integer (int32)

number of PPP restarts in the last 30 day period

ddns: string

dynamic dns hostname

default_route: string

default route reported by device

Example
{
  "ping": "integer (int64)",
  "ip4": "string",
  "override": "string",
  "uptime_ppp": "integer (int64)",
  "ppp_restarts_24h": "integer (int32)",
  "ppp_restarts_30d": "integer (int32)",
  "ddns": "string",
  "default_route": "string"
}

RouterCellular:

signal: number (float)

Signal strength in dBm

technology: string

Technology type reported by the modem

technology_group: string

Common technology definition (2G, 3G, 4G, etc.)

network: string

Network identifier provided by the cell tower

mcc: integer (int64)
mnc: integer (int64)
cell_id: integer (int64)
iccid: string
msisdn: string
Example
{
  "signal": "number (float)",
  "technology": "string",
  "technology_group": "string",
  "network": "string",
  "mcc": "integer (int64)",
  "mnc": "integer (int64)",
  "cell_id": "integer (int64)",
  "iccid": "string",
  "msisdn": "string"
}

RouterType:

code: string
firmware_version: string
os: string
short: string
vendor: string
Example
{
  "code": "string",
  "firmware_version": "string",
  "os": "string",
  "short": "string",
  "vendor": "string"
}

Group:

id: integer (int32)
name: string
path: string
logo: string
notes: string
Example
{
  "id": "integer (int32)",
  "name": "string",
  "path": "string",
  "logo": "string",
  "notes": "string"
}

Label: string

Location:

latitude: number
longitude: number
from: string fixed, cellid, gps
range: number
heading: number

Heading in degrees

Example
{
  "latitude": "number",
  "longitude": "number",
  "from": "string",
  "range": "number",
  "heading": "number"
}

LANClient:

hwaddr: string
last_seen: LANClientLogEntry
Example
{
  "hwaddr": "string",
  "last_seen": {
    "router": {
      "id": "integer (int64)",
      "slno": "string",
      "custom_id": "string",
      "custom_ref": "string",
      "display_name": "string",
      "alias": "string",
      "online": "integer (int32)",
      "last_seen_unixtime": "integer (int64)",
      "uptime": "integer (int64)",
      "reboots_24h": "integer (int32)",
      "reboots_30d": "integer (int32)",
      "url": "string",
      "subscription_name": "string",
      "license_expiry": "string",
      "temperature": {
        "celsius": "number (float)",
        "fahrenheit": "number (float)"
      },
      "temperature_ext": {
        "celsius": "number (float)",
        "fahrenheit": "number (float)"
      },
      "cellular": {
        "signal": "number (float)",
        "technology": "string",
        "technology_group": "string",
        "network": "string",
        "mcc": "integer (int64)",
        "mnc": "integer (int64)",
        "cell_id": "integer (int64)",
        "iccid": "string",
        "msisdn": "string"
      },
      "data_usage": {
        "usage_today": "integer (int64)",
        "usage_current_month": "integer (int64)",
        "limit_month": "integer (int64)"
      },
      "wan": {
        "ping": "integer (int64)",
        "ip4": "string",
        "override": "string",
        "uptime_ppp": "integer (int64)",
        "ppp_restarts_24h": "integer (int32)",
        "ppp_restarts_30d": "integer (int32)",
        "ddns": "string",
        "default_route": "string"
      },
      "group": {
        "id": "integer (int32)",
        "name": "string",
        "path": "string",
        "logo": "string",
        "notes": "string"
      },
      "location": {
        "latitude": "number",
        "longitude": "number",
        "from": "string",
        "range": "number",
        "heading": "number"
      },
      "lan_clients": [
        {
          "hwaddr": "string",
          "last_seen": "#/definitions/LANClientLogEntry"
        }
      ],
      "dx_version": "string",
      "modem": {
        "manufacturer": "string",
        "model": "string",
        "modem_model": "string",
        "modem_fw": "string"
      },
      "router_type": {
        "code": "string",
        "firmware_version": "string",
        "os": "string",
        "short": "string",
        "vendor": "string"
      },
      "maintenance": {
        "created": "integer (int64)",
        "expiry": "integer (int64)",
        "message": "string",
        "user": {
          "id": "integer (int32)",
          "name": "string",
          "username": "string"
        }
      },
      "warnings": {
        "code": "string",
        "description": "string",
        "id": "integer (int32)",
        "muted_by": "string",
        "muted_timestamp": "integer (int32)",
        "occurred": "integer (int32)"
      }
    },
    "unixtime": "integer (int64)",
    "hostname": "string",
    "eth": "integer (int32)",
    "ip": "string"
  }
}

LANClientLogEntry:

router: Router
unixtime: integer (int64)
hostname: string
eth: integer (int32)
ip: string
Example
{
  "router": {
    "id": "integer (int64)",
    "slno": "string",
    "custom_id": "string",
    "custom_ref": "string",
    "display_name": "string",
    "alias": "string",
    "online": "integer (int32)",
    "last_seen_unixtime": "integer (int64)",
    "uptime": "integer (int64)",
    "reboots_24h": "integer (int32)",
    "reboots_30d": "integer (int32)",
    "url": "string",
    "subscription_name": "string",
    "license_expiry": "string",
    "temperature": {
      "celsius": "number (float)",
      "fahrenheit": "number (float)"
    },
    "temperature_ext": {
      "celsius": "number (float)",
      "fahrenheit": "number (float)"
    },
    "cellular": {
      "signal": "number (float)",
      "technology": "string",
      "technology_group": "string",
      "network": "string",
      "mcc": "integer (int64)",
      "mnc": "integer (int64)",
      "cell_id": "integer (int64)",
      "iccid": "string",
      "msisdn": "string"
    },
    "data_usage": {
      "usage_today": "integer (int64)",
      "usage_current_month": "integer (int64)",
      "limit_month": "integer (int64)"
    },
    "wan": {
      "ping": "integer (int64)",
      "ip4": "string",
      "override": "string",
      "uptime_ppp": "integer (int64)",
      "ppp_restarts_24h": "integer (int32)",
      "ppp_restarts_30d": "integer (int32)",
      "ddns": "string",
      "default_route": "string"
    },
    "group": {
      "id": "integer (int32)",
      "name": "string",
      "path": "string",
      "logo": "string",
      "notes": "string"
    },
    "location": {
      "latitude": "number",
      "longitude": "number",
      "from": "string",
      "range": "number",
      "heading": "number"
    },
    "lan_clients": [
      {
        "hwaddr": "string",
        "last_seen": {
          "router": "#/definitions/Router",
          "unixtime": "integer (int64)",
          "hostname": "string",
          "eth": "integer (int32)",
          "ip": "string"
        }
      }
    ],
    "dx_version": "string",
    "modem": {
      "manufacturer": "string",
      "model": "string",
      "modem_model": "string",
      "modem_fw": "string"
    },
    "router_type": {
      "code": "string",
      "firmware_version": "string",
      "os": "string",
      "short": "string",
      "vendor": "string"
    },
    "maintenance": {
      "created": "integer (int64)",
      "expiry": "integer (int64)",
      "message": "string",
      "user": {
        "id": "integer (int32)",
        "name": "string",
        "username": "string"
      }
    },
    "warnings": {
      "code": "string",
      "description": "string",
      "id": "integer (int32)",
      "muted_by": "string",
      "muted_timestamp": "integer (int32)",
      "occurred": "integer (int32)"
    }
  },
  "unixtime": "integer (int64)",
  "hostname": "string",
  "eth": "integer (int32)",
  "ip": "string"
}

Modem:

manufacturer: string
model: string
modem_model: string
modem_fw: string
Example
{
  "manufacturer": "string",
  "model": "string",
  "modem_model": "string",
  "modem_fw": "string"
}

Maintenance:

created: integer (int64)
expiry: integer (int64)
message: string
user: User
Example
{
  "created": "integer (int64)",
  "expiry": "integer (int64)",
  "message": "string",
  "user": {
    "id": "integer (int32)",
    "name": "string",
    "username": "string"
  }
}

Warnings:

code: string
description: string
id: integer (int32)
muted_by: string
muted_timestamp: integer (int32)
occurred: integer (int32)
Example
{
  "code": "string",
  "description": "string",
  "id": "integer (int32)",
  "muted_by": "string",
  "muted_timestamp": "integer (int32)",
  "occurred": "integer (int32)"
}

User:

id: integer (int32)
name: string
username: string
Example
{
  "id": "integer (int32)",
  "name": "string",
  "username": "string"
}

Error:

code: integer (int32)
message: string
Example
{
  "code": "integer (int32)",
  "message": "string"
}