RocketChat/Rocket.Chat · error
Not Found
Error message
Not Found
What it means
Error "Not Found" thrown in RocketChat/Rocket.Chat.
Source
Thrown at apps/meteor/app/apps/server/bridges/api.ts:29
import { apiServer } from './router';
import { authenticationMiddleware } from '../../../../server/api/v1/middlewares/authentication';
WebApp.rawConnectHandlers.use(apiServer);
interface IRequestWithPrivateHash extends Request {
_privateHash?: string;
content?: any;
}
export class AppApisBridge extends ApiBridge {
appRouters: Map<string, IRouter>;
constructor(private readonly orch: IAppServerOrchestrator) {
super();
this.appRouters = new Map();
apiServer.use('/api/apps/private/:appId/:hash', (req: IRequestWithPrivateHash, res: Response) => {
const notFound = (): Response => res.sendStatus(404);
const router = this.appRouters.get(req.params.appId);
if (router) {
req._privateHash = req.params.hash;
return router(req, res, notFound);
}
notFound();
});
apiServer.use('/api/apps/public/:appId', (req: Request, res: Response) => {
const notFound = (): Response => res.sendStatus(404);
const router = this.appRouters.get(req.params.appId);
if (router) {
return router(req, res, notFound);View on GitHub (pinned to b2c16d5842)
Solutions
- Verify the appId in the /api/apps/private/:appId/:hash URL corresponds to an installed app that registered a private API route.
- Ensure the app is enabled; routers are removed when an app is disabled or uninstalled.
- Check the request path and HTTP method match a route the app actually registered.
When it happens
Trigger: Thrown at apps/meteor/app/apps/server/bridges/api.ts:29 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18).
Data as JSON: /api/errors/590a7f76a3299ee2.
Report an issue: GitHub.