{"record":{"id":"8eca274a240b0ee9","repo":"octobercms/october","slug":"system-lang-server-response-not-found","errorCode":"system::lang.server.response_not_found","errorMessage":"The update server could not be found.","messagePattern":"The update server could not be found\\.","errorType":"exception","errorClass":"ApplicationException","httpStatus":null,"severity":"error","filePath":"modules/system/classes/updatemanager/HasGatewayAccess.php","lineNumber":45,"sourceCode":"\n    /**\n     * @var string Secure API Secret\n     */\n    protected $secret;\n\n    /**\n     * requestServerData contacts the update server for a response.\n     * @param  string $uri\n     * @param  array  $postData\n     * @return array\n     */\n    public function requestServerData($uri, $postData = [])\n    {\n        $result = $this->makeHttpRequest($this->createServerUrl($uri), $postData);\n        $contents = $result->body();\n\n        if ($result->status() === 404) {\n            throw new ApplicationException(Lang::get('system::lang.server.response_not_found'));\n        }\n\n        if ($result->status() !== 200) {\n            throw new ApplicationException(\n                strlen($contents)\n                ? $contents\n                : Lang::get('system::lang.server.response_empty')\n            );\n        }\n\n        $resultData = false;\n\n        try {\n            $resultData = @json_decode($contents, true);\n        }\n        catch (Exception $ex) {\n            throw new ApplicationException(Lang::get('system::lang.server.response_invalid'));\n        }","sourceCodeStart":27,"sourceCodeEnd":63,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/system/classes/updatemanager/HasGatewayAccess.php#L27-L63","documentation":"UpdateManager's requestServerData() (HasGatewayAccess trait) POSTs to the configured update/marketplace gateway and treats HTTP 404 as 'the update server could not be found', throwing an ApplicationException with system::lang.server.response_not_found. A 404 here means the gateway answered but the requested API URI does not exist for your parameters — not a generic network failure. Common to the update, marketplace browse, and project flows that all funnel through requestServerData().","triggerScenarios":"Any backend update/marketplace action (Check for updates, install plugin/core) where the gateway returns 404 for the URI built by createServerUrl(): wrong/overridden gateway URL, an API channel or endpoint retired server-side, or an unknown project/edition parameter producing an unknown route.","commonSituations":"Custom/internal update server (config/cms.php update URL override) missing the expected endpoints; October CMS v1.x era gateways that no longer exist; marketplace API changes after upgrading; a proxy or host returning 404 for blocked domains.","solutions":["Verify the configured update/marketplace gateway URL (config/cms.php and Settings → Updates) points at a server that actually serves the October update API","Test the base URL in a browser/curl — a plain 404 page confirms the wrong host or path","If using a private mirror, make sure it implements every endpoint the updater calls, including project/core routes","If behind a proxy/firewall, confirm api/marketplace hosts are allowed and not being rewritten to a 404"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    $data = \\System\\Classes\\UpdateManager::instance()->requestServerData('api/core/update', $params);\n} catch (\\October\\Rain\\Exception\\ApplicationException $ex) {\n    // 404 from the gateway — surface a friendly admin message, keep the panel usable\n    Flash::error('Update service unavailable: ' . $ex->getMessage());\n    return back();\n}","preventionTips":["Pin the gateway URL to a known-good server in config before enabling update features","Smoke-test the update endpoints with curl when pointing at a private mirror","Never let updater exceptions crash a scheduled job — always catch in cron-driven checks"],"tags":["octobercms","updates","marketplace","network","http-404"],"backgroundTag":"http-404","analyzedSha":"b608633a7e8922487d91a8161499020121c3b3bf","analyzedAt":"2026-08-21T04:24:57.515Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}