go-unifi

Surface Coverage

Which UniFi resources are reachable through the Internal API, the Official API, or both.

This is an exhaustive map of every UniFi resource the library exposes across its two client surfaces — the Legacy Internal API (c.Internal(), unifi.InternalClient) and the Official OpenAPI (c.Official(), official.Client). Every legacy resource type and every official resource surface (except the Supporting enum/lookup helper) appears below — either as its own row or merged with its counterpart when both surfaces model the same real-world resource.

Use it to decide which surface to reach for a given resource. New to the split? Start with Choosing a surface.

This table reflects the live accessors in unifi/official/client.generated.go and the resource types in unifi/*.generated.go at the time of last regeneration. It is maintained with the unifi-coverage-matrix skill and refreshed when the surfaces change.

Legend

MarkMeaning
Covered — full CRUD, Get+Update for a singleton, or the natural scope of this resource is accessible
⚠️Partially covered — some operations exist but the surface is incomplete
Not covered — no equivalent on this surface

Networking

ResourceOfficial APILegacy Internal APIComments
DHCP Options
DNS RecordsOfficial API exposes these as "DNS Policies", whose union variants are A/AAAA/CNAME/etc. records — the same entries the legacy DNS Records resource manages; only the naming differs.
Dynamic DNS
Networks
Port Forwarding
Routing
Traffic Matching ListsNew in Official API; no legacy equivalent.

Firewall & Security

ResourceOfficial APILegacy Internal APIComments
ACL RulesNew in Official API; no legacy equivalent.
Content Filtering
Firewall GroupsPart of the legacy rule-based firewall model.
Firewall Policies⚠️Legacy FirewallZonePolicy provides zone-based policies with full CRUD (the direct counterpart of Official Firewall.Policy); Official additionally exposes policy ordering and patch operations absent from the legacy surface.
Firewall RulesLegacy rule-based firewall model (pre-zone); superseded by zone-based Firewall Policies on the Official side.
Firewall Zones

WiFi

ResourceOfficial APILegacy Internal APIComments
AP Groups
Broadcast Groups
Channel Plan
WiFi Networks (SSIDs)Official WifiBroadcasts and legacy WLAN model the same SSID resource.
WLAN Groups

Devices & Ports

ResourceOfficial APILegacy Internal APIComments
Devices⚠️Official covers adoption, listing, statistics, and device/port actions; legacy Device resource provides richer per-device configuration (full CRUD).
Port Profiles
Virtual Devices

Clients & Users

ResourceOfficial APILegacy Internal APIComments
RADIUS Accounts
RADIUS ProfilesOfficial API exposes RADIUS profiles read-only via the excluded Supporting lookup helper, not as a managed resource.
User Groups
Users (Network Clients)⚠️Legacy User manages known client devices with full CRUD (aliases, fixed IPs, WLAN groups); Official Clients covers connected-client listing and network actions only.

Hotspot & Guest

ResourceOfficial APILegacy Internal APIComments
Hotspot 2.0 Configuration
Hotspot Operators
Hotspot Packages
Hotspot VouchersVoucher create/get/list/delete is new in Official; legacy models the hotspot via packages, operators, and Hotspot 2.0 config instead.

Maps, Floorplans & Media

ResourceOfficial APILegacy Internal APIComments
Heat Map Points
Heat Maps
Maps
Media Files
Spatial Records

System & Operations

ResourceOfficial APILegacy Internal APIComments
Controller InfoOfficial provides a dedicated controller info endpoint (Info.Get); legacy has no equivalent resource.
Dashboard
Schedule Tasks
SitesBoth surfaces cover sites; Legacy InternalClient provides full Sites CRUD (CreateSite, DeleteSite, GetSite, ListSites, UpdateSite). Official uses UUIDs as identifiers while Legacy uses site names; use Sites().ResolveID to map name→UUID when working across both surfaces.
Tags

Settings (singleton configuration)

These are singleton configuration endpoints exposed by the legacy InternalClient as GetSetting* / UpdateSetting* (Get + Update — the full natural scope of a singleton). The Official API exposes no settings endpoints. See the Settings catalogue for the typed accessors.

ResourceOfficial APILegacy Internal APIComments
Auto Speedtest (SettingAutoSpeedtest)
Baresip / VoIP (SettingBaresip)
Broadcast (SettingBroadcast)
Connectivity (SettingConnectivity)
Country (SettingCountry)
Dashboard (SettingDashboard)
DNS over HTTPS / DoH (SettingDoh)
DPI (SettingDpi)
Element Adoption (SettingElementAdopt)
EtherLighting (SettingEtherLighting)
Evaluation Score (SettingEvaluationScore)
Global AP (SettingGlobalAp)
Global NAT (SettingGlobalNat)
Global Switch (SettingGlobalSwitch)
Guest Access (SettingGuestAccess)
IPS/IDS (SettingIps)
LCM / LCD Monitor (SettingLcm)
Locale (SettingLocale)
Magic Site-to-Site VPN (SettingMagicSiteToSiteVpn)
mDNS (SettingMdns)
Management (SettingMgmt)
NetFlow (SettingNetflow)
Network Optimization (SettingNetworkOptimization)
NTP (SettingNtp)
Porta (SettingPorta)
Radio AI (SettingRadioAi)
RADIUS (SettingRadius)
Roaming Assistant (SettingRoamingAssistant)
Remote Syslog (SettingRsyslogd)
SNMP (SettingSnmp)
SSL Inspection (SettingSslInspection)
Super Cloud Access (SettingSuperCloudaccess)
Super Events (SettingSuperEvents)
Super Firmware Update (SettingSuperFwupdate)
Super Identity (SettingSuperIdentity)
Super Mail (SettingSuperMail)
Super Management (SettingSuperMgmt)
Super SDN (SettingSuperSdn)
Super SMTP (SettingSuperSmtp)
Teleport (SettingTeleport)
Traffic Flow (SettingTrafficFlow)
USG / Gateway (SettingUsg)
USW / Switch (SettingUsw)

On this page