langflow-ai/langflow · error · HTTPException

Invalid JSON file: {e}

Error message

Invalid JSON file: {e}

What it means

Error "Invalid JSON file: {e}" thrown in langflow-ai/langflow.

Source

Thrown at src/backend/base/langflow/api/v1/flows.py:676

    contents = await file.read()

    if not contents:
        raise HTTPException(status_code=400, detail="The uploaded file is empty")

    if zipfile.is_zipfile(io.BytesIO(contents)):
        try:
            flows_data = await extract_flows_from_zip(contents)
        except ValueError as e:
            raise HTTPException(status_code=400, detail=str(e)) from e
        if not flows_data:
            raise HTTPException(status_code=400, detail="No valid flow JSON files found in the ZIP")
        data = {"flows": flows_data}
    else:
        try:
            data = orjson.loads(contents)
        except orjson.JSONDecodeError as e:
            raise HTTPException(status_code=400, detail=f"Invalid JSON file: {e}") from e

    # Normalise code fields: if exported with code-as-lines format, rejoin to
    # strings before creating the Pydantic models so the DB always stores strings.
    if not isinstance(data, dict):
        raise HTTPException(
            status_code=422,
            detail="Invalid JSON: expected an object with 'flows' or a single flow object",
        )
    try:
        if "flows" in data:
            if not isinstance(data["flows"], list):
                raise HTTPException(
                    status_code=422,
                    detail="Invalid JSON: 'flows' must be a list of flow objects",
                )
            non_dict = [i for i, f in enumerate(data["flows"]) if not isinstance(f, dict)]
            if non_dict:
                raise HTTPException(

View on GitHub (pinned to 976ec789d2)

Solutions

  1. Fix the JSON syntax in the uploaded file; validate it with a JSON parser before uploading.

When it happens

Trigger: Occurs when a JSON file inside the upload cannot be parsed as valid JSON.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of langflow-ai/langflow@976ec789d2 (2026-08-14). Data as JSON: /api/errors/2abd408e701e5735. Report an issue: GitHub.