API Integration
Overview
The WisDM API enables external systems to securely access WisDM data through authentication via an API key. It facilitates third-party platforms in automating integrations, analytics, and operational workflows through WisDM’s RESTful interface.
- Available for Enterprise subscription tiers.
- Bound to an Organization and managed by the Organization Admin.
- Each key has its own permission scope and can be independently activated, revoked, or regenerated.
To start any integration, you must first generate an API key, which serves as the authentication credential for your system.
Create Your API Key
- From the left menu, navigate to Settings > API Key.
Figure 1: API overview- Click Create API Key in the top right corner.
- Enter a name for the new key.
- Configure the key settings:
Figure 1: Configure the key- Action restrictions
- Read only: Grants access to GET methods (for data retrieval only).
- Read and Write: Grants full access, including POST and DELETE methods.
- Application restrictions
- None: No restriction; the key can be used from any source.
- HTTP referrers (Web sites): Restrict API use to specific web origins.
- IP addresses (web servers, cron jobs, etc): Allow API use only from specified IP addresses.
- Location restrictions
- Optionally limit API use to one or more locations.
- Key Lifespan
- Choose a validity period. The key will automatically expire after this period.
- After configuring the settings, click Generate key.
- Enter your WisDM account password and the 6-digit verification code (if enabled) from your authenticator app. Then, click Generate key again to confirm.
Figure 1: Confirm API key creation- Once generated, a pop-up window will display your new API key.
Figure 1: Copy and securely store your API keyThe API key is displayed only once. Copy and store it securely before leaving the page. Lost keys cannot be retrieved and must be regenerated.
Access the WisDM API
You can access the WisDM API using any REST-compatible client, including your backend service, automation script, or integration framework. It employs standard HTTP methods (GET, POST, etc.) and exchanges data in JSON format to ensure for interoperability with most systems.
All WisDM API requests must be sent to the following domain:
https://api.wisdm.network
Each API endpoint is appended to this base URL. For example:
GET https://api.wisdm.network/v4/organization
Authentication Header
Every request requires a valid API key for authentication.
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
X-API-KEY: Identifies your organization and permission scope.Accept-Encoding: gzip: Enables compressed responses for better efficiency.
Test Your Connection
Before integration, ensure that your API key and environment are configured correctly.
Request Example
GET https://api.wisdm.network/v4/organization
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"id": "7e0abc48-63b4-475c-a632-ea5bcde5c66d",
"name": "Best in the world"
}
If your response matches the example above, it confirms the following:
- The WisDM API is reachable.
- Your API key is valid and active.
- You can proceed with further API operations.
- If the API returns “403 Action is not allowed,” verify that your key has the required permission level.
- Each key belongs to one organization and cannot access others.
- Generate separate keys for each system to enhance traceability and audit control.
API Reference
This section lists all available WisDM API endpoints and their usage details. All endpoints are versioned under /v4/ and require an authentication header that includes a valid API key.
Get API Version
Retrieves the current WisDM API version for connection testing and environment verification. This endpoint requires a valid API key with Read permission.
Endpoint
GET /v4/version
Request Example
GET https://api.wisdm.network/v4/version
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"version": "v4.0.0",
"commitId": "a12b3c4"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| version | string | Current WisDM API version number |
| commitId | string | Internal system build identifier |
Get Organization Information
Retrieves information about the organization associated with your API key. A valid API key with Read permission is required.
Endpoint
GET /v4/organization
Request Example
GET https://api.wisdm.network/v4/organization
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"id": "f53d5b7d-2413-44f3-b206-8295e16a19cd",
"name": "yolo"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| id | string | Organization unique ID |
| name | string | Organization name |
List Locations
Lists all locations under an organization, returning their IDs and names. It requires a valid API key with Read permission.
Endpoint
GET /v4/organization/{organizationId}/locations
Request Example
GET https://api.wisdm.network/v4/organization/{organizationId}/locations
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"total": 2,
"locations": [
{ "id": "4fed110b-461b-4815-8bfc-4866b3b74c27", "name": "Factory A" },
{ "id": "58bbb735-dbdc-4787-9c8e-b9cacf098d80", "name": "Factory B" }
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
| total | integer | Total number of locations |
| id | string | Location ID |
| name | string | Location name |
List Gateways by Location
Lists all gateways in a specific location, including their model and status. A valid API key with Read permission is required.
Endpoint
GET /v4/location/{locationId}/gateways
Request Example
GET https://api.wisdm.network/v4/location/{locationId}/gateways`
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"total": 1,
"gateways": [
{
"sn": "918100M46020602001",
"eui": "ac1f09fffe0707a1",
"name": "RAK7268V2H-918100M46020602001",
"model": "RAK7268V2H",
"mac": "AC:1F:09:07:07:A1",
"status": "ONLINE",
"lastDyingGasp": "None"
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
| sn | string | Gateway serial number |
| eui | string | Gateway EUI |
| name | string | Gateway name |
| model | string | Device model |
| mac | string | MAC address |
| status | string | ONLINE / OFFLINE / PROVISIONING |
| lastDyingGasp | string | Last event timestamp |
Register Gateway
Registers an unassigned gateway under a specific location. This API is essential for automated factory provisioning or field deployment. It requires a valid API key with WRITE_ADD_GATEWAY_TO_LOCATION permission.
Before registration, ensure the following conditions are met:
- The gateway is already whitelisted under the Organization.
- The target Location operates in Basics Station mode.
- The gateway was pre-provisioned during factory setup.
- Registration will fail if factory provisioning is incomplete.
Endpoint
POST /v4/location/{locationId}/gateways
Request Example
POST https://api.wisdm.network/v4/location/4fed110b-461b-4815-8bfc-4866b3b74c27/gateways
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Content-Type: application/json
{
"sn": "GW123456",
"eui": "ABCDEF1234567890",
"name": "Gateway-1",
"bsHasLocalAuthSuite": true,
"bsClientCertificate": "-----BEGIN CERTIFICATE-----...",
"bsClientKey": "-----BEGIN PRIVATE KEY-----...",
"bsToken": "eyJhbGciOiJIUzI1NiIs..."
}
Request Parameters
| Field | Type | Description |
|---|---|---|
| sn | string | Gateway Serial Number |
| eui | string | Gateway EUI (unique hardware identifier) |
| name | string | Gateway name |
| bsHasLocalAuthSuite | boolean | Set to false for gateways without pre-configured Basic Station certificates. Set to true if the gateway has factory-preconfigured Basic Station certificates. Only gateways with version v2.2.15 or newer support this feature. |
| bsClientCertificate | string | Client certificate for TLS authentication. Required when bsHasLocalAuthSuite is false and location uses TLS Server and Client Authentication mode. |
| bsClientKey | string | Client private key for TLS authentication. Required when bsHasLocalAuthSuite is false and the location uses TLS Server and Client Authentication mode. |
| bsToken | string | Authentication token for token-based authentication. Required when bsHasLocalAuthSuite is false and the location uses TLS Server Authentication and Client Token Authentication mode authentication mode . |
WisDM verifies the request through several steps:
- Checks API key ownership and write permission scope.
- Confirms that the gateway belongs to the same organization.
- Validates that the target location supports Basic Station mode.
- If TLS or token-based authentication is required, validates the credentials.
- Upon success, WisDM establishes a binding between the gateway and the location, returning a 201 Created response.
Response Example
{
"locationId": "4fed110b-461b-4815-8bfc-4866b3b74c27",
"sn": "GW123456",
"eui": "ABCDEF1234567890"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| locationId | string | ID of the Location the gateway was registered to |
| sn | string | Gateway serial number |
| eui | string | Gateway EUI |
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Missing or Invalid Parameters | Required fields (sn, eui, name) are not provided, or there ir an auth mode mismatch with Location |
| 403 Forbidden | Insufficient Permission | API key lacks write privileges, or the gateway does not belong to the Organization |
| 406 Not Acceptable | Invalid Mode | Location is not in Basics Station mode, or the gateway is not factory-registered |
| 500 Internal Server Error | System Error | Registration or backend synchronization failed |
Get Gateway Status by Location
Retrieves the operational status of all gateways under a specific Location, with pagination support for large deployments. Requires a valid API key with Read permission.
Endpoint
GET /v4/location/{locationId}/gateways/status
Request Example
GET https://api.wisdm.network/v4/location/4fed110b-461b-4815-8bfc-4866b3b74c27/gateways/status?pageSize=100
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"pageSize": 100,
"totalPages": 3,
"nextToken": "eyJwYWdlIjoyfQ==",
"gateways": [
{
"sn": "918100RC6050800000",
"eui": "ac1f09fffe990000",
"name": "RAK7289V2",
"model": "RAK7289CV2",
"mac": "00:3D:C6:FD:58:C5",
"status": "ONLINE",
"lastDyingGasp": "None",
"system": {
"uptime": 10372,
"cpu": 33,
"memory": 51
},
"gps": {
"longitude": 174.966721,
"latitude": -38.0526032
},
"network": {
"lan": {
"subnet": "192.168.230.1/24",
"ethernet": {
"enabled": false
},
"wifi": {
"enabled": false,
"ssid": "ltDhgPVEZUqClu4=",
"encryption": "NONE",
"key": "xZ5+9j2p8+4=",
"channel": "Auto",
"hidden": false
}
},
"wan": {
"active": "CELLULAR",
"ethernet": {
"enabled": true,
"priority": 1,
"online": false,
"uptime": 0
},
"wifi": {
"enabled": false,
"priority": 2
},
"cellular": {
"enabled": true,
"priority": 3,
"online": true,
"ipv4AddrMask": "100.94.77.194/30",
"uptime": 10299,
"sim_present": true,
"imsi": "234106459829513",
"iccid": "89883070000054069701",
"imei": "862869033261012",
"signalLevel": 1,
"rsrp": -102,
"rsrq": -6,
"sinr": 18,
"rssi": -76,
"rat": "LTE",
"networkType": "FDD LTE",
"autoSelect": true,
"plmn": "53001"
}
}
},
"lora": {
"activeNodes": 0,
"txPackets": 2,
"rxPackets": 119
},
"storage": {
"healthy": true,
"total": 15185,
"free": 15048,
"used_percent": 0
}
},
......
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
| pageSize | integer | Number of results per page |
| totalPages | integer | Total number of available pages |
| nextToken | string | Pagination token for the next page This field is omitted if there are no additional pages to fetch. |
| gateways | array | List of summaries for gateway status |
Gateway Object Fields
| Field | Type | Description |
|---|---|---|
| sn | string | Gateway serial number |
| eui | string | Gateway EUI |
| name | string | Gateway name |
| model | string | Device model |
| mac | string | MAC address |
| status | string | Current status (ONLINE / OFFLINE / PROVISIONING) |
| lastDyingGasp | string | Data and time of the last dying gasp event |
| system | object | System Statistics |
| gps | object | GPS status of the gateway |
| network | object | Network status of the gateway |
| lora | object | LoRa packet statistics of the gateway |
| storage | object | Storage status of the gateway |
Get Gateway Battery Status by Location
Retrieves the solar battery health and power metrics for all gateways within a specific location. Requires a valid API key with Read permission.
Endpoint
GET /v4/location/{locationId}/gateways/battery
Request Example
GET https://api.wisdm.network/v4/location/f53d5b7d-2413-44f3-b206-8295e16a19cd/gateways/battery?pageSize=100
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"pageSize": 100,
"totalPages": 2,
"nextToken": "eyJwYWdlIjoyfQ==",
"gateways": [
{
"sn": "9181016S6041224001",
"battery": {
"temperature": 28,
"voltage": 22.03,
"soc": 48,
"current": 60,
"soh": 100,
"cycles": 3,
"remainCapacity": 24410,
"fullChargeCapacity": 50000,
"mode": "CHARGING"
}
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
| pageSize | integer | Number of results returned per page |
| totalPages | integer | Total number of pages available |
| nextToken | string | Pagination token for next page This field is omitted if there are no additional pages to fetch. |
| gateways | array | List of gateways with associated battery data |
Battery Object Fields
| Field | Type | Description |
|---|---|---|
| temperature | integer | Battery temperature (°C) |
| voltage | integer | Battery voltage (V) |
| soc | integer | State of Charge (percentage) |
| current | integer | Current of the solar battery in mA |
| soh | integer | State of Health (percentage) |
| cycles | integer | Cycle count of the solar battery |
| remainCapacity | integer | Remaining capacity of the solar battery in mAh |
| fullChargeCapacity | integer | Full charge capacity of the solar battery in mAh |
| mode | string | Battery operating mode (CHARGING / DISCHARGING / FULLY_CHARGED) |
Get Single Gateway Status
Retrieves the real-time operational status of a specific gateway, including its system performance, network interfaces, GPS state, LoRa activity, and storage health. A valid API key with Read permission is required.
This API is ideal for targeted monitoring or troubleshooting at the device level.
- When invoked, WisDM returns the most recent runtime snapshot for the gateway identified by its Serial Number (SN).
- If the gateway is offline, the API returns the latest cached state reported before disconnection.
Endpoint
GET /v4/gateway/{sn}/status
Request Example
GET https://api.wisdm.network/v4/gateway/918100RN6040814001/status
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"sn": "918100RN6040814001",
"eui": "ac1f09fffe16882b",
"name": "RAK7268CV2",
"model": "RAK7268CV2",
"mac": "AC:1F:09:16:88:2B",
"status": "ONLINE",
"lastDyingGasp": "None",
"system": {"uptime": 3142,"cpu": 35,"memory": 51},
"gps": {
"state": "GPS_NO_OUTPUT",
"satellites_number": 0,
"longitude": 0.0,
"latitude": 0.0
},
"network": {
"lan": {
"subnet": "192.168.230.1/24",
"ethernet": {"enabled": false},
"wifi": {
"enabled": true,
"ssid": "RAK-865",
"encryption": "WPA2-PSK",
"key": "test-key",
"channel": "Auto",
"hidden": false
}
},
"wan": {
"active": "ETH",
"ethernet": {
"enabled": true,
"priority": 3,
"online": true,
"ipv4AddrMask": "10.0.10.74/24",
"uptime": 2544
},
"wifi": {"enabled": false,"priority": 1},
"cellular": {"enabled": true,"priority": 2,"online": false,"uptime": 0}
}
},
"lora": {"activeNodes": 3,"txPackets": 0,"rxPackets": 497},
"storage": {"healthy": true,"total": 15176,"free": 15139,"used_percent": 0}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| sn | string | Serial number of the gateway |
| eui | string | EUI of the Gateway |
| name | string | Name of the Gateway |
| model | string | Model of the device |
| mac | string | MAC address of the gateway |
| status | string | Current status (ONLINE / OFFLINE / PROVISIONING) |
| lastDyingGasp | string | Date and time of the last dying gasp event |
| system | object | System statistics |
| gps | object | GPS status of the gateway |
| network | object | Network status of the gateway |
| lora | object | LoRa packet statistics of the gateway |
| storage | object | Storage status of the gateway |
Get Gateway Performance Metrics
Retrieves historical performance metrics for a specific gateway, including RSSI, SNR, uplink, and downlink statistics. A valid API key with Read permission is required.
Endpoint
GET /v4/gateway/{sn}/perf/{metric}
Request Example
GET https://api.wisdm.network/v4/gateway/GW123456/perf/rssi?interval=12h
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Request Parameters
| Parameter | Type | Description |
|---|---|---|
| sn | string | Serial number of the gateway |
| metric | string | Metric type (rssi / snr / uplink / downlink) |
| interval | string | Time range |
Response Example
{
"result": [
{ "value": 120, "timestamp": "2025-10-09T10:00:00Z" },
{ "value": 98, "timestamp": "2025-10-09T10:10:00Z" }
],
"nextToken": "abc123",
"clientToken": "xyz456"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| result | array | A list of metric values along with their timestamps |
| value | number | The metric value at a specific point in time |
| timestamp | string | The UTC timestamp when the data was recorded |
| nextToken | string | A token for retrieving the next page of data (if available) |
| clientToken | string | Identifier for tracking multi-page queries |
Get Gateway Battery Information
Retrieves the solar battery information for a specific gateway, including temperature, voltage, state of charge (SOC), state of health (SOH), and charging mode. This action requires a valid API key with Read permission.
Endpoint
GET /v4/gateway/{sn}/battery
Request Example
GET https://api.wisdm.network/v4/gateway/GW123456/battery
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"sn": "918100QL6041021001",
"battery": {
"temperature": 26,
"voltage": 13.6,
"soc": 51,
"current": -180,
"soh": 100,
"cycles": 5,
"remainCapacity": 25520,
"fullChargeCapacity": 50000,
"mode": "DISCHARGING"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| sn | string | Gateway serial number |
| battery | object | Battery information |
Battery Object Fields
| Field | Type | Description |
|---|---|---|
| temperature | integer | Battery temperature (°C) |
| voltage | integer | Battery voltage (V) |
| soc | integer | State of Charge (percentage) |
| current | integer | Current of the solar battery in mA |
| soh | integer | State of Health (percentage) |
| cycles | integer | Number of cycles completed by the solar battery |
| remainCapacity | integer | Remaining capacity of the solar battery in mAh |
| fullChargeCapacity | integer | Full charge capacity of the solar battery in mAh |
| mode | string | Battery operating mode (CHARGING / DISCHARGING / FULLY_CHARGED) |
Send Asynchronous Command
Submits a remote command to a specific gateway for diagnostic or maintenance purposes. The request immediately returns a commandId, which can later be used to check the execution result via
GET /v4/gateway/{sn}/async-cmd/{commandId}.
Currently, this API supports a limited set of commands, such as netstat, which is used to inspect the network status of a gateway. It requires Read and Write permissions for the supported diagnostic commands.
Endpoint
POST /v4/gateway/{sn}/async-cmd
Request Example
POST https://api.wisdm.network/v4/gateway/GW123456/async-cmd
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Content-Type: application/json
{
"command": "netstat",
"args": "-apn",
"pipes": [
{ "command": "grep", "args": "LISTEN" }
],
"timeout": 60
}
Request Parameters
| Field | Type | Description |
|---|---|---|
| command | string | The command to be executed (e.g., netstat) |
| args | string | Command-line arguments |
| pipes | array | Optional chained commands |
| timeout | integer | Maximum execution time in seconds (default: 60) |
Response Example
{ "commandId": 1760413840}
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid parameters | Command not recognized or invalid syntax |
| 403 Forbidden | Access denied | API key lacks permission |
| 500 Internal Server Error | System error | Gateway offline or execution error |
Query Asynchronous Command Result
This endpoint enables you to verify the successful completion of a command and view its console output.
When a gateway executes a queued command, the result is uploaded to WisDM. This endpoint queries that stored result and reports one of the following states:
- PENDING: The command has been queued or is waiting for execution.
- SUCCESS: The command executed successfully; result is available.
- FAILED: Execution failed or timed out.
A valid API key with Read permission is required.
Endpoint
GET /v4/gateway/{sn}/async-cmd/{commandId}
Request Example
GET https://api.wisdm.network/v4/gateway/GW123456/async-cmd/cmd-1760413840
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"sn": "GW123456",
"commandId": "1760413840",
"result": "tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN ..."
}
Response Fields
| Field | Type | Description |
|---|---|---|
| sn | string | The serial number of the gateway |
| commandId | string | A unique identifier for the command |
| result | string | The output of the command or an execution message |
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid parameters | CommandId is incorrect or missing |
| 403 Forbidden | Access denied | API key does not have read permission |
| 404 Not Found | Resource not found | CommandId does not exist or has expired |
| 500 Internal Server Error | System error | Gateway is offline or an internal fault has occurred |
Reboot Gateway
Sends a remote reboot command to a specific gateway. This action requires an requires API key with WRITE_REBOOT_GATEWAY permission.
Endpoint
POST /v4/gateway/{sn}/reboot
Request Example
POST https://api.wisdm.network/v4/gateway/GW123456/reboot
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
204 No Content
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid parameters | Serial Number is missing or incorrect |
| 403 Forbidden | Insufficient permission | API key does not have write privileges |
| 500 Internal Server Error | System failure | Gateway offline or unable to receive command |
Reset Gateway Password
Resets the local root password of a specific gateway. This action requires an API key with WRITE_RESET_PASSWORD permission.
Endpoint
POST /v4/gateway/{sn}/password
Request Example
POST https://api.wisdm.network/v4/gateway/GW123456/password
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Content-Type: application/json
{
"password": "StrongPass!2025"
}
Request Parameters
| Field | Type | Description |
|---|---|---|
| password | string | The new password to set for the gateway |
Response Example
204 No Content
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid or missing parameters | The password field is either omitted or invalid |
| 403 Forbidden | Insufficient permission | The API key lacks the WRITE_RESET_PASSWORD privilege |
| 500 Internal Server Error | System error | There is a gateway offline or an internal configuration issue |
Get Network Priority
Retrieves the current WAN interface priority configuration for a specific gateway. A valid API key with Read permission is required.
Endpoint
GET /v4/gateway/{sn}/network/priority
Request Example
GET https://api.wisdm.network/v4/gateway/GW123456/network/priority
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"sn": "GW123456",
"priority": "ETH_CELLULAR_WIFI"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| sn | string | Gateway serial number |
| priority | string | Current interface order (e.g., ETH_CELLULAR_WIFI, CELLULAR_WIFI_ETH, etc.) |
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid parameter | Serial number is incorrect or missing |
| 403 Forbidden | Access denied | API key does not have read permissions |
| 500 Internal Server Error | Internal failure | Gateway is unreachable or configuration file error |
Set Network Priority
Sets the WAN interface priority order for a specific gateway. This action requires an API key with WRITE_EDIT_NETWORK_INTERFACE permission.
Endpoint
POST /v4/gateway/{sn}/network/priority
Request Example
POST https://api.wisdm.network/v4/gateway/GW123456/network/priority
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Content-Type: application/json
{
"priority": "ETH_CELLULAR_WIFI"
}
Request Parameters
| Field | Type | Description |
|---|---|---|
| priority | string | Defines interface order; supports combinations such as: ETH_CELLULAR_WIFI, ETH_WIFI_CELLULAR, CELLULAR_WIFI_ETH, WIFI_ETH_CELLULAR, etc. |
Response Example
204 No Content
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid or unsupported value | Missing priority field or incorrect syntax |
| 403 Forbidden | Insufficient permission | API key lacks modification rights |
| 500 Internal Server Error | Internal failure | Gateway is unreachable or configuration file is corrupted |
Get LAN Configuration
Retrieves the current LAN configuration of a specific gateway, including both Ethernet and Wi-Fi LAN interfaces. It requires a valid API key with Read permission.
Endpoint
GET /v4/gateway/{sn}/network/lan
Request Example
GET https://api.wisdm.network/v4/gateway/GW123456/network/lan
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Response Example
{
"sn": "918100M46020602001",
"ethernet": {
"enabled": false
},
"wifi": {
"enabled": true,
"ssid": "GW-LAN",
"encryption": "WPA2-PSK",
"key": "StrongKey123",
"channel": "Auto",
"hidden": false
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| sn | string | Serial number of the gateway |
| ethernet.enabled | boolean | Indicates if the Ethernet LAN interface is active |
| wifi.enabled | boolean | Indicates if the Wi-Fi LAN interface is active |
| wifi.ssid | string | Name of the Wi-Fi network (SSID) |
| wifi.encryption | string | Type of encryption used (NONE / WPA-PSK / WPA2-PSK / WPA-WPA2-PSK-MIXED) |
| wifi.hidden | boolean | Indicates if the SSID broadcast is hidden |
| wifi.channel | string | Current Wi-Fi channel (e.g., "Auto" or "2412MHz") |
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid parameter | Serial number is missing or malformed |
| 403 Forbidden | Access denied | API key lacks the necessary permissions |
| 500 Internal Server Error | Internal failure | Gateway is unreachable or there is a data retrieval error |
Configure LAN Interface
Configures the LAN interface parameters of a specific gateway. This action requires an API key with WRITE_EDIT_NETWORK_INTERFACE permission.
Ethernet LAN configuration changes are restricted to prevent accidental disconnection from WisDM.
Endpoint
POST /v4/gateway/{sn}/network/lan
Request Example
POST https://api.wisdm.network/v4/gateway/GW123456/network/lan
X-API-KEY: <Your_API_Key>
Accept-Encoding: gzip
Content-Type: application/json
{
"wifi": {
"enabled": true,
"ssid": "GW-LAN",
"encryption": "WPA2-PSK",
"key": "StrongKey123",
"channel": "Auto",
"hidden": false
}
}
Request Parameters
| Field | Type | Description |
|---|---|---|
| wifi.enabled | boolean | Enables or disables the Wi-Fi LAN interface |
| wifi.ssid | string | Wi-Fi network name (maximum 32 characters) |
| wifi.encryption | string | Encryption mode (NONE / WPA-PSK / WPA2-PSK / WPA-WPA2-PSK-MIXED) |
| wifi.key | string | Wi-Fi password (8-63 characters, alphanumeric and special symbols) |
| wifi.channel | string | Wi-Fi channel selection (default: "Auto") |
| wifi.hidden | boolean | Hides the SSID from broadcast if set to true |
Response Example
204 No Content
Error Codes
| HTTP Code | Meaning | Description |
|---|---|---|
| 400 Bad Request | Invalid request | JSON syntax error or missing required fields |
| 403 Forbidden | Insufficient permission | API key lacks edit privileges |
| 500 Internal Server Error | Internal error | Gateway is unreachable or configuration push failed |
Manage API Keys
Once an API key has been created, you can view and manage it on the Settings > API Key page. Each key can be edited, regenerated, or deleted.
Edit an API Key
- From the key list, select the API key you want to modify.
- Update the name or change permission settings as needed.
Figure 1: Update your API key- Click Save changes to apply updates.
Regenerate a Key
Regenerate your API key when it expires or if you suspect it has been compromised. The new key will replace the old one while maintaining all previous configurations.
Click the Regenerate icon
in the top-right corner, enter your credentials, and then click Regenerate API key to confirm.
Figure 1: Regenerate a KeyDelete a Key
Delete an API key when it is no longer needed or has been replaced by a new one. Once deleted, all systems using this key will immediately lose API access.
Click the Delete icon
in the top-right corner. Confirm your action, and then click Delete API Key to permanently remove it.
Figure 1: Delete a KeyDeleting a key cannot be undone. Any application or integration using this key will immediately lose access to the WisDM API.
