{"record":{"id":"d7e7fdc2532af020","repo":"Mintplex-Labs/anything-llm","slug":"title-is-required-and-must-be-lowercase-with-under","errorCode":null,"errorMessage":"Title is required and must be lowercase with underscores only.","messagePattern":"Title is required and must be lowercase with underscores only\\.","errorType":"http","errorClass":null,"httpStatus":400,"severity":"error","filePath":"server/endpoints/modelRouter.js","lineNumber":126,"sourceCode":"      }\n    }\n  );\n\n  app.post(\n    \"/model-routers/:id/rules/new\",\n    [validatedRequest, flexUserRoleValid([ROLES.admin])],\n    async (request, response) => {\n      try {\n        const { id } = request.params;\n        const user = await userFromSession(request, response);\n        const data = reqBody(request);\n        const routerId = Number(id);\n        const { rule, error } = await ModelRouterRule.create(\n          routerId,\n          data,\n          user?.id || null\n        );\n        if (error) return response.status(400).json({ rule, error });\n\n        await Telemetry.sendTelemetry(\"model_router_rule_created\");\n        ModelRouterService.invalidateRouter(routerId);\n        return response.status(200).json({ rule });\n      } catch (e) {\n        console.error(e);\n        response.sendStatus(500);\n      }\n    }\n  );\n\n  app.put(\n    \"/model-routers/:id/rules/reorder\",\n    [validatedRequest, flexUserRoleValid([ROLES.admin])],\n    async (request, response) => {\n      try {\n        const { id } = request.params;\n        const { ruleUpdates } = reqBody(request);","sourceCodeStart":108,"sourceCodeEnd":144,"githubUrl":"https://github.com/Mintplex-Labs/anything-llm/blob/3aec848f2885144aa8f1e53b9731a04310d5d558/server/endpoints/modelRouter.js#L108-L144","documentation":"Validation error propagated from ModelRouterRule.create: the rule title failed the slug-like format check — titles must be lowercase letters with underscores only — so the rule is rejected as malformed.","triggerScenarios":"Thrown at server/endpoints/modelRouter.js:126 when the library encounters an invalid state.","commonSituations":"Creating a routing rule with a missing or improperly formatted title.","solutions":["Provide a rule title using lowercase letters and underscores only.","Example valid title: 'code_queries'."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3aec848f2885144aa8f1e53b9731a04310d5d558","analyzedAt":"2026-08-18T10:02:21.017Z","contentChangedAt":"2026-08-18T10:02:21.017Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}