{"record":{"id":"19dbbbf194ea46f7","repo":"langflow-ai/langflow","slug":"flow-not-found-19dbbb","errorCode":null,"errorMessage":"Flow not found","messagePattern":"Flow not found","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"src/backend/base/langflow/api/v1/endpoints.py","lineNumber":684,"sourceCode":"    Raises:\n        HTTPException: For flow not found (404) or invalid input (400)\n        APIException: For internal execution errors (500)\n    \"\"\"\n    # Authorization happens upstream: every caller of _run_flow_internal must\n    # have called ensure_flow_permission(FlowAction.EXECUTE, ...) before\n    # invoking us. The owner-only check that used to live here would reject any\n    # plugin execute-grant on a shared flow, defeating the plugin's\n    # purpose. Adding a defense-in-depth check here would re-introduce the\n    # same regression.\n    telemetry_service = get_telemetry_service()\n\n    # If input_request is None, manually parse the request body\n    # This happens when FastAPI can't automatically parse it due to the Request parameter\n    if input_request is None:\n        input_request = await parse_input_request_from_body(http_request)\n\n    if flow is None:\n        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=\"Flow not found\")\n\n    # Extract request-level variables from headers with prefix X-LANGFLOW-GLOBAL-VAR-*\n    request_variables = extract_global_variables_from_headers(http_request.headers)\n\n    # Merge request variables with existing context\n    if request_variables:\n        if context is None:\n            context = {\"request_variables\": request_variables}\n        else:\n            context = context.copy()  # Don't modify the original context\n            context[\"request_variables\"] = request_variables\n\n    start_time = time.perf_counter()\n\n    if stream:\n        asyncio_queue: asyncio.Queue = asyncio.Queue()\n        asyncio_queue_client_consumed: asyncio.Queue = asyncio.Queue()\n        event_manager = create_stream_tokens_event_manager(queue=asyncio_queue)","sourceCodeStart":666,"sourceCodeEnd":702,"githubUrl":"https://github.com/langflow-ai/langflow/blob/976ec789d2886a86de109c044d089d68e96c9a35/src/backend/base/langflow/api/v1/endpoints.py#L666-L702","documentation":"Error \"Flow not found\" thrown in langflow-ai/langflow.","triggerScenarios":"Occurs when the flow referenced by the request (by id or endpoint name) does not exist in the database or is not visible to the current user.","commonSituations":"See trigger scenarios.","solutions":["Verify the flow id or endpoint name is correct and the flow still exists.","Check that the flow belongs to the authenticated user or is shared with them."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"976ec789d2886a86de109c044d089d68e96c9a35","analyzedAt":"2026-08-14T18:23:12.227Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}