Configuration -- Wireless
GET /api/config.ssid.profile
Obtain the SSID profile information.
Available in 7.1.1 or later
Input Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | array | optional | List of SSID profile IDs. Returns all profiles if omitted. |
Response
| Field | Type | Description |
|---|---|---|
order | array | Order of SSID profile IDs |
<profile_id> | object | SSID profile information |
SSID_Profile Object:
| Field | Type | Description |
|---|---|---|
name | string | SSID of the profile |
enable | boolean | Enabled as Local AP. Always false if device doesn't support Wi-Fi. |
frequency | array | 2.4GHz, 5GHz (absent when disabled; Wi-Fi devices only) |
vlanId | integer | VLAN ID (absent if using LAN) |
captivePortal | boolean | Uses captive portal |
incontrolManaged | boolean | Managed by InControl |
broadcast | boolean | Broadcast the SSID |
security | object | Security settings |
Security Object:
| Field | Type | Description |
|---|---|---|
policy | string | WPA2 Personal or WPA/WPA2 Personal |
wpa2Personal | object | WPA2 Personal settings |
wpaWpa2Personal | object | WPA/WPA2 Personal settings |
ppsk | array | Private Pre-Shared Key config |
WPA2_Personal Object:
| Field | Type | Description |
|---|---|---|
fastTransition | boolean | Fast Transition for WPA2 (not in WPA/WPA2 Personal) |
key | string | Pre-shared key |
PPSK Object:
| Field | Type | Description |
|---|---|---|
name | string | Reference name |
key | string | WPA/WPA2/WPA3 Personal Key in plaintext |
mac | string (MAC) | MAC address this PPSK applies to |
vlanId | integer | VLAN ID for this PPSK (untagged LAN if not specified) |
cURL Example
curl -b cookies.txt \
"http://192.168.1.1/api/config.ssid.profile?id=1&id=2"
{
"stat": "ok",
"response": {
"1": {
"name": "Main SSID",
"enable": true,
"captivePortal": true,
"incontrolManaged": false,
"broadcast": true,
"security": {
"policy": "WPA2 Personal",
"wpa2Personal": {
"fastTransition": true,
"key": "pas53or2"
}
}
},
"2": {
"name": "Guest SSID",
"enable": true,
"captivePortal": true,
"incontrolManaged": false,
"broadcast": true,
"vlanId": 1,
"security": {
"policy": "WPA2 Personal",
"wpa2Personal": {
"fastTransition": false,
"key": "pass3ord"
}
}
},
"order": [1, 2]
}
}
POST /api/config.ssid.profile
Update the SSID profile. Only provided fields will be affected.
Available in 7.1.1 or later
Input Parameters
| Field | Type | Required | Description |
|---|---|---|---|
action | string | ✅ | update |
id | number | ✅ | Profile ID to update |
name | string | optional | SSID name |
enable | boolean | optional | Enable as Local AP (Wi-Fi devices only) |
frequency | array | optional | 2.4GHz, 5GHz. Both used if absent and SSID is enabled. |
vlanId | integer | optional | VLAN ID |
broadcast | boolean | optional | Broadcast the SSID |
security | object | optional | Security settings |
Security Update Object:
| Field | Type | Required | Description |
|---|---|---|---|
policy | string | optional | WPA2 Personal or WPA/WPA2 Personal |
wpa2Personal | object | optional | WPA2 Personal settings |
wpaWpa2Personal | object | optional | WPA/WPA2 Personal settings |
ppsk | array | optional | Private Pre-Shared Key settings |
WPA2 Personal Update:
| Field | Type | Required | Description |
|---|---|---|---|
fastTransition | boolean | optional | Fast Transition (WPA2 only) |
key | string | optional | Pre-shared key (8--63 chars or 64-char HEX) |
cURL Example
curl -b cookies.txt -H "Content-Type: application/json" \
-X POST -d '{"action":"update","id":"1","enable":true,"frequency":["2.4GHz","5GHz"],"security":{"wpa2Personal":{"key":"thisIsNewPassword"}}}' \
http://192.168.1.1/api/config.ssid.profile
{
"stat": "ok",
"response": {
"1": {
"name": "Main SSID",
"enable": true,
"captivePortal": true,
"incontrolManaged": false,
"broadcast": true,
"security": {
"policy": "WPA2 Personal",
"wpa2Personal": {
"fastTransition": true,
"key": "thisIsNewPassword"
}
}
},
"order": [1]
}
}
GET /api/config.mesh
Obtain the wireless mesh configuration.
Available in 8.3.2 or later
Response
| Field | Type | Description |
|---|---|---|
order | array | Order of mesh profile IDs |
<profile_id> | object | Mesh profile information |
Mesh_Profile Object:
| Field | Type | Description |
|---|---|---|
enable | boolean | Profile enabled |
profileId | array | AP profile IDs using this mesh network |
meshId | string | Mesh ID |
passphrase | string | Passphrase (minimum 8 characters) |
frequencyBand | string | 2.4 GHz or 5 GHz |
cURL Example
curl -b cookies.txt http://192.168.1.1/api/config.mesh
{
"stat": "ok",
"response": {
"1": {
"enable": true,
"meshId": "522",
"passphrase": "222246645646",
"frequencyBand": "2.4 GHz"
},
"order": [1]
}
}
POST /api/config.mesh
Add, update, or remove mesh profiles.
Available in 8.3.2 or later
Add a Mesh Profile
| Field | Type | Required | Description |
|---|---|---|---|
action | string | ✅ | add |
list | array | ✅ | List of mesh profile objects |
Mesh Profile (Add):
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | ✅ | Profile ID |
meshId | string | ✅ | Mesh ID |
profileId | array or null | optional | AP profile IDs. null = no profiles assigned. |
passphrase | string | ✅ | Passphrase (min 8 characters) |
frequencyBand | string | ✅ | 2.4 GHz or 5 GHz |
Update a Mesh Profile
| Field | Type | Required | Description |
|---|---|---|---|
action | string | ✅ | update |
list | array | ✅ | List of mesh profile objects |
Mesh Profile (Update):
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | ✅ | Profile ID to update |
meshId | string | optional | Mesh ID |
profileId | array or null | optional | AP profile IDs. null = unassign. Absent = no change. |
passphrase | string | optional | Passphrase (min 8 characters) |
frequencyBand | string | optional | 2.4 GHz or 5 GHz |
Remove a Mesh Profile
| Field | Type | Required | Description |
|---|---|---|---|
action | string | ✅ | remove |
list | array | ✅ | List of objects with id (integer) to remove |
cURL Examples
Update:
curl -b cookies.txt -H "Content-Type: application/json" \
-X POST -d '{"action":"update","list":[{"id":1,"frequencyBand":"2.4 GHz"}]}' \
http://192.168.1.1/api/config.mesh
Remove:
curl -b cookies.txt -H "Content-Type: application/json" \
-X POST -d '{"action":"remove","list":[{"id":1}]}' \
http://192.168.1.1/api/config.mesh