{"record":{"id":"91e9ca1899ebbee6","repo":"BerriAI/litellm","slug":"no-fields-to-update","errorCode":null,"errorMessage":"No fields to update","messagePattern":"No fields to update","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/management_endpoints/workflow_management_endpoints.py","lineNumber":333,"sourceCode":"    data: WorkflowRunUpdateRequest,\n    user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),\n):\n    \"\"\"Update status, metadata, or output on a workflow run.\"\"\"\n    from litellm.proxy.proxy_server import prisma_client\n\n    if prisma_client is None:\n        raise HTTPException(status_code=500, detail=CommonProxyErrors.db_not_connected_error.value)\n\n    update: Final[_RunUpdateData] = {}\n    if data.status is not None:\n        update[\"status\"] = data.status\n    if data.output is not None:\n        update[\"output\"] = _json(data.output)\n    if data.metadata is not None:\n        update[\"metadata\"] = _json(data.metadata)\n\n    if not update:\n        raise HTTPException(status_code=400, detail=\"No fields to update\")\n\n    # Enforce ownership before writing.\n    await _require_run(prisma_client, run_id, user_api_key_dict)\n\n    try:\n        run: Final[_RunRow | None] = await WorkflowRunRepository(prisma_client).table.update(\n            where={\"run_id\": run_id},\n            data=update,\n        )\n        if run is None:\n            raise HTTPException(status_code=404, detail=f\"Run '{run_id}' not found\")\n        return run\n    except HTTPException:\n        raise\n    except Exception as e:\n        verbose_proxy_logger.exception(\"Error updating workflow run: %s\", e)\n        raise HTTPException(status_code=500, detail=str(e))\n","sourceCodeStart":315,"sourceCodeEnd":351,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/workflow_management_endpoints.py#L315-L351","documentation":"HTTPException raised by the workflow-run update endpoint when the request body contains no updatable fields — status, output, and metadata are all None, so there is nothing to write. It fails fast rather than issuing a no-op database update.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/workflow_management_endpoints.py:333 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include at least one field to update in the request body."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}