langflow-ai/langflow · error · HTTPException
No valid flow JSON files found in the ZIP
Error message
No valid flow JSON files found in the ZIP
What it means
Error "No valid flow JSON files found in the ZIP" thrown in langflow-ai/langflow.
Source
Thrown at src/backend/base/langflow/api/v1/flows.py:670
# check uses the actual workspace_id/folder_id each uploaded flow targets.
# A coarse pre-parse check here would over-reject (it would authorize the
# caller against ``domain="*", obj="flow:*"`` regardless of where the
# uploaded flows actually land).
if file is None:
raise HTTPException(status_code=400, detail="No file provided")
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(View on GitHub (pinned to 976ec789d2)
Solutions
- Include at least one valid .json flow file at the top level of the ZIP archive.
When it happens
Trigger: Occurs when an uploaded ZIP archive contains no entries that are valid flow JSON files.
Common situations: See trigger scenarios.
AI-assisted analysis of langflow-ai/langflow@976ec789d2 (2026-08-14).
Data as JSON: /api/errors/204f53cd8ab9c1c3.
Report an issue: GitHub.