Mintplex-Labs/anything-llm · error

Document processing API is not online. Document

Error message

Document processing API is not online. Document ${originalname} will not be parsed.

What it means

Availability check in the document parse endpoint: CollectorApi.online() reported the document-processing (collector) service as unreachable, so the uploaded file cannot be parsed and the request fails with 500 naming the affected file.

Solutions

  1. Start the document collector service (it must be running on COLLECTOR_PORT, default 8888).
  2. Check COLLECTOR_PORT and the collector host configuration so the server can reach it.
  3. Look at the collector process logs for a crash or port conflict, then retry the parse.
Defensive patterns

Strategy: retry

When it happens

Trigger: Document processing API (collector) is offline. Triggered when the collector health check fails before parsing an uploaded document, so the document cannot be parsed.

Common situations: See trigger scenarios.


AI-assisted analysis of Mintplex-Labs/anything-llm@3aec848f28 (2026-08-18). Data as JSON: /api/errors/6db90bd6c5ab5af9. Report an issue: GitHub.

Appendix: source

Thrown at server/endpoints/workspacesParsedFiles.js:138

  app.post(
    "/workspace/:slug/parse",
    [
      validatedRequest,
      flexUserRoleValid([ROLES.all]),
      handleFileUpload,
      validWorkspaceSlug,
    ],
    async function (request, response) {
      try {
        const user = await userFromSession(request, response);
        const workspace = response.locals.workspace;
        const Collector = new CollectorApi();
        const { originalname } = request.file;
        const processingOnline = await Collector.online();

        if (!processingOnline) {
          return response.status(500).json({
            success: false,
            error: `Document processing API is not online. Document ${originalname} will not be parsed.`,
          });
        }

        const { success, reason, documents } =
          await Collector.parseDocument(originalname);
        if (!success || !documents?.[0]) {
          return response.status(500).json({
            success: false,
            error: reason || "No document returned from collector",
          });
        }

        // Get thread ID if we have a slug
        const { threadSlug = null } = reqBody(request);
        const thread = threadSlug
          ? await WorkspaceThread.get({

View on GitHub (pinned to 3aec848f28)