Download OpenAPI specification:
User login
string | |
| password | string |
{- "email": "email@moxa.com",
- "password": 12345678
}{- "data": {
- "user": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "email": "string",
- "description": "string",
- "status": "inactive",
- "avatar": "string",
- "role": {
- "roleId": 1,
- "name": "Admin",
- "description": "string",
- "permissionList": [
- {
- "id": 1,
- "value": 1
}
]
}, - "firstLogin": true,
- "termsAcceptedAt": "2019-08-24T14:15:22Z",
- "loginedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "token": "string"
}
}Generates a report based on the specified type and optional parameters such as device IDs and date range.
| projectId required | string <uuid> (ProjectId) Unique identifier representing a specific project |
| type required | string Enum: "trafficConsumption" "recorder-trafficTransmission" "recorder-cellularPerformance" "inventory" "event" Type of report to generate |
| deviceIdList | Array of strings <uuid> (DeviceId) [ items <uuid > ] List of device IDs to include in the report (not applicable for the "inventory" type) |
| startDate | string <date> Start date for the report (not applicable for the "inventory" type) |
| endDate | string <date> End date for the report (not applicable for the "inventory" type) |
{- "type": "trafficConsumption",
- "deviceIdList": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "startDate": "2019-08-24",
- "endDate": "2019-08-24"
}{
}Device - Get all devices without project
| serialNumber | string Filter the device list by serialNumber, supports multiple search i.e. ?field=encoded1,encoded2 |
| modelName | string Filter the device list by modelName, supports multiple search |
| hostName | string Filter the device list by hostName, supports multiple search |
| displayName | string Filter the device list by displayName, supports multiple search |
| tags | string Filter the device list by label, supports multiple search |
| status | string Enum: "unknown" "online" "offline" Filter the device list by connection status |
| cellularSignalStrength | integer Enum: -1 0 1 2 3 -1 is not supported, 0 is no signal, 1 is poor, 2 is fair, 3 is good |
| carrier | string Filter by carrier |
| firmwareVersion | string |
| vpnStatus | string Enum: "connected" "disconnected" Filter by remote connect status (VPN tunnel status) |
| vpnHealth | string Enum: "all_active" "not_all_active" Use 'all_active' for devices with all VPNs active, 'not_all_active' otherwise |
| keyword | string Wildcard keyword search (serial number, host name, display name, IMEI, IMSI, IP, label, carrier) |
| sort | string Default: "asc" Enum: "desc" "asc" Sorting direction, default is asc |
| order | string Enum: "status" "serialNumber" "modelName" "hostName" Field to sort by, default is createdAt |
| limit | integer <= 1000 Default: 10 Max device count, default 10, max 1000 |
| offset | integer Default: 0 Offset |
{- "data": {
- "devices": [
- {
- "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
- "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
- "mac": "string",
- "serialNumber": "string",
- "hostName": "string",
- "modelName": "string",
- "profileId": 0,
- "profileName": "string",
- "status": "online",
- "tags": [
- "string"
], - "configStatus": "string",
- "firmwareVersion": 0,
- "thingsproVersion": "string",
- "osType": "string",
- "isPendingJob": true,
- "currentJob": true,
- "configUpdatedAt": "2019-08-24T14:15:22Z",
- "connectedAt": "2019-08-24T14:15:22Z",
- "disconnectedAt": "2019-08-24T14:15:22Z",
- "ipAddress": "192.168.0.1",
- "imei": "string",
- "imsi": "string",
- "carrier": "string",
- "vpn": {
- "totalTunnel": 0,
- "activeTunnel": 0
}, - "enrollProperties": {
- "imei": "string",
- "imsi": "string",
- "carrier": "string",
- "ip": "192.168.0.1",
- "serialNumber": "string",
- "modelName": "string",
- "mac": "string",
- "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
- "status": "pending"
}
}
], - "count": 0,
- "offset": 0,
- "limit": 0
}
}Device - Get device with given ID
| deviceId required | string <uuid> device unique identifier |
{- "data": {
- "projectId": "65af94c4-07e4-43d7-abad-3cb5f295550b",
- "deviceId": "4b4f1ab2-18ac-483e-aedd-2aaeb2dabd59",
- "mac": "000C2970D2EC",
- "serialNumber": "TEST123",
- "hostName": "moxa",
- "modelName": "UC-8200",
- "status": "online",
- "tags": [
- "moxa"
], - "displayName": "displayName",
- "firmwareVersion": "V1.1 Build1.0",
- "configUpdatedAt": "2019-02-26T14:10:33:000Z",
- "connectedAt": "2019-02-26T14:10:33:000Z",
- "disconnectedAt": "2019-02-26T14:10:33:000Z",
- "lastBootTime": "2019-02-26T14:10:33:000Z",
- "cellularSignalLevel": -1,
- "ip": "1.2.3.4",
- "imei": "123456789012345",
- "imsi": "987654321098765",
- "carrier": "FarEast",
- "registeredAt": "2019-02-26T14:10:33:000Z",
- "vpn": {
- "totalTunnel": 2,
- "activeTunnel": 2
}, - "isPendingJob": false,
- "currentJob": false
}
}Get device logs by device ID with optional filters
| deviceId required | string Device unique identifier |
| event | string Filter by event keyword (partial match) |
| category | string Filter by category (e.g., operation, system) |
| severity | string Filter by severity (e.g., info, warning, error) |
| user | string Filter by username (partial match) |
| limit | integer Default: 20 Number of results to return |
| offset | integer Default: 0 Pagination offset |
{- "count": 0,
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "category": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "event": "string",
- "message": "string",
- "severity": "string",
- "serialNumber": "string",
- "source": "string",
- "avatar": "string",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "username": "string"
}
], - "limit": 0,
- "offset": 0
}Get all network info.
| deviceId required | string device unique identifier |
{- "data": [
- {
- "type": "ethernet",
- "displayName": "string",
- "enable": true,
- "wan": true,
- "defaultRoute": true,
- "status": "connected",
- "ip": "192.168.0.1",
- "gateway": "192.168.0.1",
- "subnet": "192.168.0.1",
- "mac": "string",
- "primaryDNS": "192.168.0.1",
- "secondaryDNS": "192.168.0.1",
- "raw": { }
}
]
}Get device basic info
| deviceId required | string device unique identifier |
{- "hostName": "Moxa",
- "modelName": "UC-8200",
- "serialNumber": "Moxa1234567",
- "lastBootTime": "2019-08-24T14:15:22Z",
- "registeredAt": "2019-08-24T14:15:22Z",
- "certExpiredAt": "2019-08-24T14:15:22Z",
- "configUpdatedAt": "2019-08-24T14:15:22Z",
- "firmwareVersion": "1.0.0",
- "dlmAgentVersion": "1.0.0"
}Job - Get device's jobs
| deviceId required | string <uuid> (DeviceId) Device unique identifier |
| schedule | boolean Get device jobs by schedule |
| id | string <uuid> (JobId) Get device job by job id |
| type | string (JobType) Enum: "reboot" "firmwareUpgrade" "installPackage" "runScript" The type of job |
| status | string (JobStatus) Enum: "scheduled" "inprogress" "canceled" "success" "failedReportError" "failedDeviceTimeout" "failedDeviceOffline" The status of the job |
| limit | integer Default: 10 Get job list limitation |
| offset | integer Default: 0 Get job list offset |
{- "count": 1,
- "limit": 10,
- "offset": 0,
- "data": [
- {
- "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
- "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
- "username": "string",
- "type": "reboot",
- "status": "scheduled",
- "result": "string",
- "scheduledStartedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "timezone": "+0800"
}
]
}Get all projects
| name | string Filter the project list by project name |
| description | string Filter the project list by description |
| keyword | string Keyword search in project name and description |
| order | string Value: "name" Order projects by a field (default is createdAt) |
| sort | string Enum: "desc" "asc" Sort direction (default is desc) |
| limit | integer Max number of projects to return (default 100 and max is 1000) |
| offset | integer offset |
{- "data": [
- {
- "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
- "name": "string",
- "description": "string",
- "onlineDeviceCount": 0,
- "offlineDeviceCount": 0,
- "totalDeviceCount": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "count": 0,
- "offset": 0,
- "limit": 0
}Check project devices logs
| username | string Filter by partial match on username. |
| severity | string Filter by event severity. |
| event | string Filter by partial match on event name. |
| category | string Filter by match on category. |
| source | string Filter by match on source. |
| since | string Value: "24h" Example: since=24h Filter logs from the past 24 hours. |
| keyword | string Wildcard search in username / serial_number |
| limit | integer [ 1 .. 100 ] Default: 10 |
| offset | integer >= 0 Default: 0 |
| order | string Enum: "severity" "category" "username" "event" "source" |
| sort | string Default: "desc" Enum: "asc" "desc" |
{- "count": 0,
- "limit": 0,
- "offset": 0,
- "data": [
- {
- "id": 0,
- "category": "Operation",
- "createdAt": "2019-08-24T14:15:22Z",
- "event": "string",
- "message": "string",
- "severity": "alert",
- "serialNumber": "string",
- "source": "dlm",
- "userId": "string",
- "username": "string"
}
]
}