← ClaudeAtlas

unifi-clientslisted

Use when operating on UniFi clients, devices, switch ports, or DHCP: "block a device", "kick a client off wifi", "restart an access point", "power cycle a PoE port", "move a device to a different VLAN", "my device is on the wrong subnet after I changed the port", "set a DHCP reservation", "change DHCP DNS servers", "forget an old client", "why did my PUT reset all the other ports", or reading UniFi events and alarms. Covers full-object PUT discipline, the wired VLAN migration trap, and where events moved. Assumes unifi-connect. Not for firewall policy between zones (unifi-firewall), radios and SSIDs (unifi-wifi).
t3chnaztea/unifi-skills · ★ 39 · API & Backend · score 81
Install: claude install-skill t3chnaztea/unifi-skills
# UniFi Clients and Devices Day-to-day operations, and the two ways they go wrong: **partial writes that silently destroy config**, and **VLAN changes that appear to work and do not.** ## Full-object PUT discipline The rule that prevents most damage on this API: > `rest/*` endpoints replace the object. GET it, modify the one field, PUT the > whole thing back. A partial PUT does not merge. It writes what you sent and drops the rest. The consequences scale with the object: - `rest/networkconf`: PUT `{"dhcpd_dns_1": "..."}` and you can lose the network's DHCP range, domain name, and VLAN assignment. - `rest/wlanconf`: you can lose the passphrase, the network binding, the band settings. - `rest/device` `port_overrides`: **PUT the complete `port_overrides` list.** Sending one port's override resets every other port on the switch to defaults. On a 24-port switch carrying a segmented network, that is the whole afternoon. ```bash # Correct shape, every time udm raw GET /proxy/network/api/s/default/rest/networkconf/<NETWORK_ID> > /tmp/net.json # edit /tmp/net.json, changing only what you mean to change udm raw PUT /proxy/network/api/s/default/rest/networkconf/<NETWORK_ID> "$(cat /tmp/net.json)" ``` Then re-read and diff. The PUT response is not proof. ## The wired VLAN migration trap You change a switch port's native VLAN. The controller accepts it. The device behind that port is now **stranded**, and nothing tells you. **Changing `native_networkconf_id` in `port_ov