octobercms/october · error · ApplicationException

system::lang.server.response_not_found

system::lang.server.response_not_found

Error message

The update server could not be found.

What it means

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().

Source

Thrown at modules/system/classes/updatemanager/HasGatewayAccess.php:45

    /**
     * @var string Secure API Secret
     */
    protected $secret;

    /**
     * requestServerData contacts the update server for a response.
     * @param  string $uri
     * @param  array  $postData
     * @return array
     */
    public function requestServerData($uri, $postData = [])
    {
        $result = $this->makeHttpRequest($this->createServerUrl($uri), $postData);
        $contents = $result->body();

        if ($result->status() === 404) {
            throw new ApplicationException(Lang::get('system::lang.server.response_not_found'));
        }

        if ($result->status() !== 200) {
            throw new ApplicationException(
                strlen($contents)
                ? $contents
                : Lang::get('system::lang.server.response_empty')
            );
        }

        $resultData = false;

        try {
            $resultData = @json_decode($contents, true);
        }
        catch (Exception $ex) {
            throw new ApplicationException(Lang::get('system::lang.server.response_invalid'));
        }

View on GitHub (pinned to b608633a7e)

Solutions

  1. Verify the configured update/marketplace gateway URL (config/cms.php and Settings → Updates) points at a server that actually serves the October update API
  2. Test the base URL in a browser/curl — a plain 404 page confirms the wrong host or path
  3. If using a private mirror, make sure it implements every endpoint the updater calls, including project/core routes
  4. If behind a proxy/firewall, confirm api/marketplace hosts are allowed and not being rewritten to a 404
Defensive patterns

Strategy: try-catch

Try / catch

try {
    $data = \System\Classes\UpdateManager::instance()->requestServerData('api/core/update', $params);
} catch (\October\Rain\Exception\ApplicationException $ex) {
    // 404 from the gateway — surface a friendly admin message, keep the panel usable
    Flash::error('Update service unavailable: ' . $ex->getMessage());
    return back();
}

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21). Data as JSON: /api/errors/8eca274a240b0ee9. Report an issue: GitHub.