{"record":{"id":"dd4e8a3b50504214","repo":"nicolargo/glances","slug":"cannot-get-help-view-data-str-e","errorCode":null,"errorMessage":"Cannot get help view data ({str(e)})","messagePattern":"Cannot get help view data \\((.+?)\\)","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"glances/outputs/glances_restful_api.py","lineNumber":873,"sourceCode":"        access_token = self._jwt_handler.create_access_token(username)\n\n        return GlancesJSONResponse(\n            {\n                \"access_token\": access_token,\n                \"token_type\": \"bearer\",\n                \"expires_in\": self._jwt_handler.expire_minutes * 60,\n            }\n        )\n\n    def _api_help(self):\n        \"\"\"Glances API RESTful implementation.\n\n        Return the help data or 404 error.\n        \"\"\"\n        try:\n            plist = self.stats.get_plugin(\"help\").get_view_data()\n        except Exception as e:\n            raise HTTPException(status.HTTP_404_NOT_FOUND, f\"Cannot get help view data ({str(e)})\")\n\n        return GlancesJSONResponse(plist)\n\n    def _api_plugins(self):\n        \"\"\"Glances API RESTFul implementation.\n\n        @api {get} /api/%s/pluginslist Get plugins list\n        @apiVersion 2.0\n        @apiName pluginslist\n        @apiGroup plugin\n\n        @apiSuccess {String[]} Plugins list.\n\n        @apiSuccessExample Success-Response:\n            HTTP/1.1 200 OK\n            [\n               \"load\",\n               \"help\",","sourceCodeStart":855,"sourceCodeEnd":891,"githubUrl":"https://github.com/nicolargo/glances/blob/a240d8dfb3105a38b5964357ec21768594b0e83e/glances/outputs/glances_restful_api.py#L855-L891","documentation":"Raised by the Glances REST API when the 'help' pseudo-plugin's view data cannot be retrieved. It is a FastAPI HTTPException returning HTTP 404, with the underlying exception message embedded in parentheses. It indicates the GlancesPluginApi or stats model failed internally while building the help view, not that the route is missing.","triggerScenarios":"GET /api/4/help (or /api/3/help) when self.stats.get_plugin('help') or get_view_data() raises — e.g., stats model not initialized, plugin not loaded at startup, or a malformed items/view structure in the help plugin.","commonSituations":"Running the API server with a restricted plugin list (--disable-plugin or --enable-plugin that excludes internal plugins), starting the server while the core stats updater is not ready, or version mismatches between glances core and API layer.","solutions":["Retry the request after the server has completed its first stats update cycle","Check server startup logs for plugin loading errors for the 'help' plugin","Verify you are not disabling internal plugins via --disable-plugin","Upgrade glances so core and API versions match (pip install -U glances)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"plugins = httpx.get(f'{BASE}/api/4/plugins').json()\nif 'help' not in plugins:\n    print('help view unavailable on this server')","typeGuard":null,"tryCatchPattern":"try:\n    r = httpx.get(f'{BASE}/api/4/help', timeout=5)\n    r.raise_for_status()\n    help_data = r.json()\nexcept httpx.HTTPStatusError as e:\n    if e.response.status_code == 404:\n        log.warning(f'help view unavailable: {e.response.text}')\n    else:\n        raise","preventionTips":["Check /api/4/plugins before requesting help data","Keep glances core and API versions in sync"],"tags":["glances","rest-api","http-404","plugin"],"backgroundTag":"http-404-resource-not-found","analyzedSha":"a240d8dfb3105a38b5964357ec21768594b0e83e","analyzedAt":"2026-08-27T19:15:19.178Z","schemaVersion":2},"datasetVersion":"2026-08-27T19:17:21.184Z"}