Download OpenAPI specification:
Zyxel Nebula OpenAPI
Get the organizations
X-ZyxelNebula-API-Key required | string |
[- {
- "name": "string",
- "orgId": "string",
- "mode": "PRO",
- "payg_entitlements": [
- "PRO"
]
}
]
X-ZyxelNebula-API-Key required | string |
country required | string Alpha-2 ISO-3166, lower case |
name required | string Name of the organization |
{- "country": "string",
- "name": "string"
}
{- "orgId": "string",
- "country": "string",
- "name": "string",
- "mode": "PRO"
}
orgId required | string >= 16 characters |
X-ZyxelNebula-API-Key required | string |
{- "name": "string",
- "orgId": "string",
- "mode": "PRO",
- "payg_entitlements": [
- "PRO"
], - "prevMode": "PRO",
- "mspId": "string",
- "notes": "string",
- "licenseOverview": {
- "NCCTrialEndAt": "string",
- "NCCExpiredAt": "string"
}
}
orgId required | string >= 16 characters |
X-ZyxelNebula-API-Key required | string |
name required | string Name of the site |
country required | string Alpha-2 ISO-3166, lower case |
timeZone required | string IANA timezone, e.g., 'Asia/Taipei' |
copyFromSiteId | string Site ID to copy settings from |
{- "name": "string",
- "country": "string",
- "timeZone": "string",
- "copyFromSiteId": "string"
}
{- "siteId": "string",
- "name": "string",
- "country": "string",
- "timeZone": "string"
}
orgId required | string >= 16 characters |
X-ZyxelNebula-API-Key required | string |
[- {
- "siteId": "string",
- "devices": [
- {
- "devId": "string",
- "name": "string",
- "mac": "string",
- "sn": "string",
- "model": "string",
- "type": "AP",
- "description": "string",
- "productInfo": "string"
}
]
}
]
orgId required | string >= 16 characters |
X-ZyxelNebula-API-Key required | string |
[- {
- "devId": "string",
- "currentVersion": "string",
- "latestVersion": "string",
- "status": "N/A",
- "lastUpgradeTime": "string"
}
]
Register devices to an organization and site(if specified).
orgId required | string >= 16 characters |
X-ZyxelNebula-API-Key required | string |
required | Array of objects (DeviceClaimInfo) List of devices to claim |
siteId | string Site ID to assign the devices to |
{- "devices": [
- {
- "mac": "string",
- "sn": "string",
- "name": "string"
}
], - "siteId": "string"
}
{- "devices": [
- {
- "mac": "string",
- "sn": "string",
- "devId": "string",
- "result": "success"
}
]
}
orgId required | string >= 16 characters |
X-ZyxelNebula-API-Key required | string |
devices required | Array of strings List of device IDs to move. Devices must not be assigned to a site. |
orgId required | string Target organization ID. The owner must be the same. |
{- "devices": [
- "string"
], - "orgId": "string"
}
{- "status": "string",
- "failed_devices": [
- {
- "devId": "string",
- "errorMsg": "string"
}
]
}
siteId required | string |
X-ZyxelNebula-API-Key required | string |
[- {
- "devId": "string",
- "currentVersion": "string",
- "latestVersion": "string",
- "status": "N/A",
- "lastUpgradeTime": "string"
}
]
siteId required | string |
type | string (DeviceType) Enum: "AP" "SW" "GW" "FIREWALL" "WWAN" "SCR" "GWH" "ACCY" |
X-ZyxelNebula-API-Key required | string |
[- {
- "devId": "string",
- "currentStatus": "ONLINE"
}
]
siteId required | string |
X-ZyxelNebula-API-Key required | string |
{- "sites": [
- {
- "siteId": "string",
- "subnets": [
- "string"
], - "tunnel": [
- {
- "uptime": 0,
- "status": "string",
- "lastHeartbeat": 0
}
]
}
], - "gateways": [
- {
- "peer": "string",
- "subnets": [
- "string"
], - "tunnel": [
- {
- "uptime": 0,
- "status": "string",
- "lastHeartbeat": 0
}
]
}
], - "remoteAps": [
- {
- "devId": "string",
- "uptime": 0,
- "status": "string",
- "lastHeartbeat": 0
}
], - "cleints": [
- {
- "username": "string",
- "hostname": "string",
- "publicIPv4": "192.168.0.1",
- "asssignedIPv4": "192.168.0.1"
}
]
}
Site-wide clients data in the last 2 hours.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
[- "mac_address"
]
[- {
- "macAddress": "string",
- "ipv4Address": "192.168.0.1",
- "vlan": 0,
- "lastSeen": 0,
- "connectedTo": "string",
- "status": "ONLINE",
- "firstSeen": 0,
- "description": "string",
- "osHostname": {
- "os": "string",
- "hostname": "string"
}, - "manufacturer": "string"
}
]
AP clients data in the last 2 hours.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
[- "mac_address"
]
[- {
- "macAddress": "string",
- "ipv4Address": "192.168.0.1",
- "lastSeen": 0,
- "connectedTo": "string",
- "firstSeen": 0,
- "description": "string",
- "osHostname": {
- "os": "string",
- "hostname": "string"
}, - "manufacturer": "string",
- "ssid": {
- "name": "string",
- "security": "OPEN"
}, - "wifiStation": {
- "status": "ONLINE",
- "vlan": 0,
- "signal": 0,
- "band": "band24",
- "channel": 0
}
}
]
Ping the target address. The token must be null to initialize the ping task, and then use the returned token to fetch the results.
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
target required | string |
string or null |
{- "target": "string",
- "token": "string"
}
{- "token": "string",
- "isDone": true,
- "results": [
- {
- "seq": 0,
- "loss": true,
- "timestamp": 0,
- "elapsedTime": 0
}
]
}
Start the switch device's cable diagnostics test.
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
ports required | Array of integers |
{- "ports": [
- 0
]
}
{- "ports": [
- {
- "port": 0,
- "results": [
- {
- "channel": "string",
- "pairStatus": "string",
- "pairLength": "string",
- "pairDistanceToFault": "string"
}
]
}
]
}
The device connectivity status in the last 2hr/1d/7d/30d
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
required | ClientPeriod (string) or null |
{- "period": "2h"
}
[- {
- "begin_time": 0,
- "end_time": 0,
- "status": "string"
}
]
siteId required | string |
X-ZyxelNebula-API-Key required | string |
{- "apTrafficLog": true,
- "secuReporterTrafficLog": true,
- "localTimezone": true,
- "logPrefix": "string",
- "syslogServers": [
- {
- "serverAddress": "string",
- "serverType": [
- "AP"
]
}
]
}
siteId required | string |
X-ZyxelNebula-API-Key required | string |
apTrafficLog required | boolean |
secuReporterTrafficLog required | boolean |
localTimezone required | boolean Whether to use the local timezone for the reporting |
required | string or null |
required | Array of objects (SyslogServer) |
{- "apTrafficLog": true,
- "secuReporterTrafficLog": true,
- "localTimezone": true,
- "logPrefix": "string",
- "syslogServers": [
- {
- "serverAddress": "string",
- "serverType": [
- "AP"
]
}
]
}
{- "status": 0,
- "message": "string"
}
Updates or creates AP client policies.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
macAddress required | string Client MAC Address |
policyAction required | string Enum: "BLOCKED" "WHITELISTED" |
[- {
- "macAddress": "string",
- "policyAction": "BLOCKED"
}
]
{- "status": 200,
- "message": "OK"
}
Deletes an AP client policy.
siteId required | string |
mac required | string |
X-ZyxelNebula-API-Key required | string |
{- "status": 400,
- "message": "Client MAC not found"
}
Updates or creates SW client policies.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
macAddress required | string Client MAC Address |
policyAction required | string Value: "BLOCKED" |
vid required | integer Switch client vid |
[- {
- "macAddress": "string",
- "policyAction": "BLOCKED",
- "vid": 0
}
]
{- "status": 200,
- "message": "OK"
}
Deletes a SW client policy
siteId required | string |
mac required | string |
X-ZyxelNebula-API-Key required | string |
{- "status": 400,
- "message": "Client MAC not found"
}
siteId required | string |
X-ZyxelNebula-API-Key required | string |
devices required | Array of strings List of device IDs to move |
siteId | string Target site ID. If not specified, remove devices from the site. |
{- "devices": [
- "string"
], - "siteId": "string"
}
{- "status": "string",
- "failed_devices": [
- {
- "devId": "string",
- "errorMsg": "string"
}
]
}
Site-wide clients data in the last 2hr/1d/7d/30d.
Response data key is macAddress.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
required | ClientPeriod (string) or null default is 2h |
featrues required | Array of strings (ClientAttributesReq) Items Enum: "mac_address" "ipv4" "vlan" "last_seen" "connected_device_id" "status" "first_seen" "description" "os_hostname" "manufacturer" |
{- "period": "2h",
- "featrues": [
- "mac_address"
]
}
{- "KeyFields": [
- "macAddress"
], - "data": [
- {
- "macAddress": "string",
- "ipv4Address": "192.168.0.1",
- "vlan": 0,
- "lastSeen": 0,
- "connectedTo": "string",
- "status": "ONLINE",
- "firstSeen": 0,
- "description": "string",
- "osHostname": {
- "os": "string",
- "hostname": "string"
}, - "manufacturer": "string"
}
]
}
AP clients data in the last 2hr/1d/7d/30d.
Response data key is macAddress.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
required | ClientPeriod (string) or null default is 2h |
featrues required | Array of strings (ApClientAttributesReqV2) Items Enum: "mac_address" "ipv4" "last_seen" "connected_device_id" "first_seen" "description" "os_hostname" "manufacturer" "ssid" "wifi_sta" "user" "upload" "download" |
{- "period": "2h",
- "featrues": [
- "mac_address"
]
}
{- "KeyFields": [
- "macAddress"
], - "data": [
- {
- "macAddress": "string",
- "ipv4Address": "192.168.0.1",
- "lastSeen": 0,
- "connectedTo": "string",
- "firstSeen": 0,
- "description": "string",
- "osHostname": {
- "os": "string",
- "hostname": "string"
}, - "manufacturer": "string",
- "ssid": {
- "name": "string",
- "security": "OPEN"
}, - "wifiStation": {
- "status": "ONLINE",
- "vlan": 0,
- "signal": 0,
- "band": "band24",
- "channel": 0
}, - "user": "string",
- "upload": 0,
- "download": 0
}
]
}
SW clients data in the last 2hr/1d/7d/30d.
Response data keys are macAddress and vlan.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
required | ClientPeriod (string) or null default is 2h |
featrues required | Array of strings (SwClientAttributesReq) Items Enum: "mac_address" "ipv4" "last_seen" "connected_device_id" "connected_port" "first_seen" "description" "manufacturer" "vlan" "lldp_info" |
{- "period": "2h",
- "featrues": [
- "mac_address"
]
}
{- "KeyFields": [
- "macAddress"
], - "data": [
- {
- "macAddress": "string",
- "ipv4Address": "192.168.0.1",
- "lastSeen": 0,
- "connectedTo": "string",
- "connectedPort": "string",
- "firstSeen": 0,
- "description": "string",
- "manufacturer": "string",
- "vlan": 0,
- "lldp": "string"
}
]
}
GW clients data in the last 2hr/1d/7d/30d.
Firewall Respone data keys are macAddress, ipv4Address and interface.
SCR Respone data key is macAddress.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
required | ClientPeriod (string) or null default is 2h |
featrues required | Array of strings (GwClientAttributesReq) Items Enum: "mac_address" "ipv4" "last_seen" "connected_device_id" "first_seen" "description" "os_hostname" "manufacturer" "interface" |
{- "period": "2h",
- "featrues": [
- "mac_address"
]
}
{- "KeyFields": [
- "macAddress"
], - "data": [
- {
- "macAddress": "string",
- "ipv4Address": "192.168.0.1",
- "lastSeen": 0,
- "connectedTo": "string",
- "firstSeen": 0,
- "description": "string",
- "osHostname": {
- "os": "string",
- "hostname": "string"
}, - "manufacturer": "string",
- "interface": "string"
}
]
}
This API returns the current IP status (instead of configuration) of AP interfaces.
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
[- {
- "interface": "string",
- "ipv4Type": "STATIC",
- "ipv4Address": "192.168.0.1",
- "ipv4Netmask": "192.168.0.1",
- "ipv4Gateway": "192.168.0.1",
- "DNSServers": [
- "192.168.0.1"
], - "vlan": 0
}
]
Note: This API always returns 8 SSIDs.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
[- {
- "name": "string",
- "enabled": true,
- "security": "OPEN",
- "band": [
- "band24"
], - "visibility": true,
- "vlan": 0,
- "wpaKey": "string",
- "captivePortal": "DISABLED",
- "guestNetwork": true
}
]
Note: This API supports changing Password and SSID name according to the Index ID. The Pre-shared-key (PSK) will be updated no matter the SSID Security mode is WPA2/3 or not.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
id required | integer [ 1 .. 8 ] Index from 1 to 8 |
wpaKey required | string |
string or null | |
boolean or null Default: false | |
boolean or null Default: false |
[- {
- "id": 1,
- "wpaKey": "string",
- "name": "string",
- "enabled": false,
- "guestNetwork": false
}
]
{- "status": 0,
- "message": "string"
}
Logout AP users in the site. Every AP will be instructed to logout the users.
siteId required | string |
X-ZyxelNebula-API-Key required | string |
[- "string"
]
{- "detail": [
- {
- "loc": [
- "string"
], - "msg": "string",
- "type": "string"
}
]
}
siteId required | string |
X-ZyxelNebula-API-Key required | string |
{- "ADUsers": "Every half hour",
- "RADIUSUsers": "Every half hour",
- "c2cUsers": "Every half hour",
- "cloudAuthUsers": "Every half hour"
}
siteId required | string |
X-ZyxelNebula-API-Key required | string |
ADUsers required | string (CaptivePortalReauthInterval) Enum: "Every half hour" "Every hour" "Every two hours" "Every four hours" "Every twelve hours" "Every day" "Every two days" "Every four days" "Every five days" "Every week" "Every two weeks" "Every 30 days" |
RADIUSUsers required | string (CaptivePortalReauthInterval) Enum: "Every half hour" "Every hour" "Every two hours" "Every four hours" "Every twelve hours" "Every day" "Every two days" "Every four days" "Every five days" "Every week" "Every two weeks" "Every 30 days" |
c2cUsers required | string (CaptivePortalReauthInterval) Enum: "Every half hour" "Every hour" "Every two hours" "Every four hours" "Every twelve hours" "Every day" "Every two days" "Every four days" "Every five days" "Every week" "Every two weeks" "Every 30 days" |
cloudAuthUsers required | string (CaptivePortalReauthInterval) Enum: "Every half hour" "Every hour" "Every two hours" "Every four hours" "Every twelve hours" "Every day" "Every two days" "Every four days" "Every five days" "Every week" "Every two weeks" "Every 30 days" |
{- "ADUsers": "Every half hour",
- "RADIUSUsers": "Every half hour",
- "c2cUsers": "Every half hour",
- "cloudAuthUsers": "Every half hour"
}
{- "status": 0,
- "message": "string"
}
siteId required | string |
X-ZyxelNebula-API-Key required | string |
id required | integer [ 1 .. 8 ] Index from 1 to 8 |
required | string or null |
required | string or null |
{- "id": 1,
- "externalUrl": "string",
- "successUrl": "string"
}
{- "status": 0,
- "message": "string"
}
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
[- {
- "lldpRemLocalPortNum": "string",
- "lldpRemPortId": "string",
- "lldpRemPortDesc": "string",
- "lldpRemSysName": "string",
- "lldpRemChassisId": "string",
- "lldpRemChassisIdSubtype": "CHASSIS_COMPONENT"
}
]
The current IP status (instead of configuration) of the Switch device. Only one IP data is returned in the array for now.
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
[- {
- "interface": "string",
- "ipv4Type": "STATIC",
- "ipv4Address": "192.168.0.1",
- "ipv4Netmask": "192.168.0.1",
- "ipv4Gateway": "192.168.0.1",
- "DNSServers": [
- "192.168.0.1"
], - "vlan": 0
}
]
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
[- {
- "portNum": 0,
- "enabled": true,
- "trunk": true,
- "portVid": 0,
- "allowedVLAN": [
- "string"
], - "hasPse": true,
- "pseEnabled": true
}
]
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
portNum required | integer |
enabled required | boolean |
trunk required | boolean |
portVid required | integer |
allowedVLAN required | Array of strings |
required | boolean or null |
{- "portNum": 0,
- "enabled": true,
- "trunk": true,
- "portVid": 0,
- "allowedVLAN": [
- "string"
], - "pseEnabled": true
}
{- "status": 0,
- "message": "string"
}
siteId required | string |
devId required | string |
period | string (TrafficUsagePeriod) Default: "1d" Enum: "2h" "1d" "7d" |
X-ZyxelNebula-API-Key required | string |
[- {
- "devId": "string",
- "uplinkTxUsage": 0,
- "uplinkRxUage": 0
}
]
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
startTimestamp required | integer unit: Unix timestamp (ms) |
endTimestamp required | integer unit: Unix timestamp (ms) |
{- "startTimestamp": 0,
- "endTimestamp": 0
}
[- {
- "timestamp": 0,
- "category": "string",
- "devId": "string",
- "mac": "string",
- "message": "string",
- "priority": "string",
- "tag": "string"
}
]
siteId required | string |
devId required | string |
period | string (TrafficUsagePeriod) Default: "1d" Enum: "2h" "1d" "7d" |
X-ZyxelNebula-API-Key required | string |
[- {
- "interface": "string",
- "uplinkTxUsage": 0,
- "uplinkRxUage": 0
}
]
siteId required | string |
X-ZyxelNebula-API-Key required | string |
startTimestamp required | integer unit: Unix timestamp (ms) |
endTimestamp required | integer unit: Unix timestamp (ms) |
{- "startTimestamp": 0,
- "endTimestamp": 0
}
[- {
- "timestamp": 0,
- "category": "string",
- "devId": "string",
- "mac": "string",
- "message": "string",
- "srcIpv4": "192.168.0.1",
- "srcPort": 0,
- "dstIpv4": "192.168.0.1",
- "dstPort": 0
}
]
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
{- "oneToOne": [
- {
- "enabled": true,
- "name": "string",
- "interface": "string",
- "publicIPv4": "192.168.0.1",
- "privateIPv4": "192.168.0.1",
- "inbound": [
- {
- "enabled": true,
- "protocol": 0,
- "port": [
- "string"
], - "remote": [
- "string"
]
}
]
}
], - "virtualServer": [
- {
- "enabled": true,
- "description": "string",
- "interface": "string",
- "protocol": 0,
- "publicIPv4": "192.168.0.1",
- "publicPorts": [
- "string"
], - "serverIPv4": "192.168.0.1",
- "serverPorts": [
- "string"
], - "allowedRemote": [
- "string"
]
}
]
}
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
{- "wan": [
- {
- "id": "string",
- "enabled": true,
- "portGroupId": "string",
- "interface": "string",
- "ipv4Type": "STATIC",
- "ipv4Address": "192.168.0.1",
- "ipv4Netmask": "192.168.0.1",
- "ipv4Gateway": "192.168.0.1",
- "DNSServers": [
- "192.168.0.1"
], - "vlan": 0
}
], - "lan": [
- {
- "id": "string",
- "enabled": true,
- "portGroupId": "string",
- "interface": "string",
- "ipv4Type": "STATIC",
- "ipv4Address": "192.168.0.1",
- "ipv4Netmask": "192.168.0.1",
- "guestZone": true
}
]
}
Mobile Router's WWAN Status.
siteId required | string |
devId required | string |
X-ZyxelNebula-API-Key required | string |
{- "ipv4Address": "192.168.0.1",
- "imei": "string",
- "iccid": "string",
- "rsrp": 0
}