### List NAS devices

`GET /api/v1/admin/nas`

Every NAS registered to the caller's tenant, with its reachability cache and the count of sessions currently on it.

- Authentication: manager session (JWT) or API token
- Permission: `prm_nas_index` (View NAS)
- Risk: read

#### Response — 200 OK

```json
{
  "data": [
    {
      "id": 3,
      "tenant_id": 12,
      "nas_identifier": "cairo-edge-1",
      "nas_ip": "10.20.0.1",
      "description": "Nasr City edge",
      "vendor": "mikrotik",
      "model": "CCR2004",
      "coa_port": 3799,
      "ssh_port": 22,
      "winbox_port": 8291,
      "ip_accounting_enabled": true,
      "ping_status": "up",
      "last_ping_at": "2026-09-20 09:07:30",
      "last_rtt_ms": 4.2,
      "online_users": 118,
      "ping_fail_count": 0,
      "wg_enabled": true,
      "tunnel_transport": "wireguard",
      "active_tunnel_ip": "10.8.0.14",
      "zerologin_enabled": true,
      "needs_onboarding": false,
      "created_at": "2026-04-11 10:02:00"
    }
  ]
}
```

#### Note

Un-paginated, and there is no meta block at all. Do not write a paging loop against it. ping_status is a cached verdict from the background sweep, not a probe performed by your request — it is 'unknown' until the first sweep classifies the device.

