RocketChat/Rocket.Chat · error · MarketplaceAppsError

Marketplace_Internal_Error

Error message

Marketplace_Internal_Error

What it means

MarketplaceAppsError 'Marketplace_Internal_Error' from fetchMarketplaceCategories: the categories request returned HTTP 500 with cloud body code in [189, 266] — the categories-specific set of known cloud internal failure codes. Same mapping pattern as 172, different endpoint and code list; response logged as 'Error fetching marketplace categories'.

Solutions

  1. Retry shortly; internal cloud errors on categories are usually transient.
  2. Check cloud status pages for incidents.
  3. Persist the logged status/response and contact support if it lasts beyond the incident window.
  4. Fallback: browse/search apps without category filters, which uses the apps-list call path.
Defensive patterns

Strategy: retry

Try / catch

try {
  const cats = await fetchMarketplaceCategories();
} catch (e) {
  if (e instanceof MarketplaceAppsError && e.message === 'Marketplace_Internal_Error') {
    await sleep(2000);
    return fetchMarketplaceCategories(); // single retry; then degrade gracefully
  }
  throw e;
}

Prevention

When it happens

Trigger: Browsing marketplace categories while the cloud's categories service fails internally; not triggerable by client input. The apps listing may be fine while only categories error.

Common situations: Cloud incidents touching the categories service; deploy windows on cloud; caching layers serving error envelopes with 500.

Related errors


AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18). Data as JSON: /api/errors/17e1eca987274c6c. Report an issue: GitHub.

Appendix: source

Thrown at apps/meteor/ee/server/apps/marketplace/fetchMarketplaceCategories.ts:72

	if (request.status === 200) {
		const response = await request.json();
		fetchMarketplaceCategoriesSchema.parse(response);
		return response;
	}

	const response = await request.json();

	Apps.getRocketChatLogger().error({ msg: 'Error fetching marketplace categories', status: request.status, response });

	// TODO: Refactor cloud to return a proper error code on unsupported version
	if (request.status === 426 && 'errorMsg' in response && response.errorMsg === 'unsupported version') {
		throw new MarketplaceUnsupportedVersionError();
	}

	const INTERNAL_MARKETPLACE_ERROR_CODES = [189, 266];

	if (request.status === 500 && INTERNAL_MARKETPLACE_ERROR_CODES.includes(response.code)) {
		throw new MarketplaceAppsError('Marketplace_Internal_Error');
	}

	throw new MarketplaceAppsError('Marketplace_Failed_To_Fetch_Categories');
}

View on GitHub (pinned to b2c16d5842)