{"record":{"id":"e01f94ac79169747","repo":"BerriAI/litellm","slug":"polling-response-response-id-not-found","errorCode":null,"errorMessage":"Polling response {response_id} not found","messagePattern":"Polling response (.+?) not found","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"litellm/proxy/response_api_endpoints/endpoints.py","lineNumber":828,"sourceCode":"        user_request_timeout,\n        user_temperature,\n        version,\n    )\n    from litellm.proxy.response_polling.polling_handler import ResponsePollingHandler\n\n    # Check if this is a polling ID\n    if ResponsePollingHandler.is_polling_id(response_id):\n        # Handle polling response deletion\n        if not redis_usage_cache:\n            raise HTTPException(status_code=500, detail=\"Redis cache not configured.\")\n\n        polling_handler: Final = ResponsePollingHandler(redis_cache=redis_usage_cache)\n\n        # Get state to verify access\n        state: Final = await polling_handler.get_state(response_id)\n\n        if not state:\n            raise HTTPException(status_code=404, detail=f\"Polling response {response_id} not found\")\n\n        # Delete from cache\n        success: Final = await polling_handler.delete_polling(response_id)\n\n        if success:\n            return DeleteResponseResult(id=response_id, object=\"response\", deleted=True)\n        else:\n            raise HTTPException(status_code=500, detail=\"Failed to delete polling response\")\n\n    # Normal provider response flow\n    data: Final = await _read_request_body(request=request)\n    data[\"response_id\"] = response_id\n    processor: Final = ProxyBaseLLMRequestProcessing(data=data)\n    try:\n        return await processor.base_process_llm_request(\n            request=request,\n            fastapi_response=fastapi_response,\n            user_api_key_dict=user_api_key_dict,","sourceCodeStart":810,"sourceCodeEnd":846,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/response_api_endpoints/endpoints.py#L810-L846","documentation":"Polling deletion pre-check: before deleting, the handler loads the polling state from Redis to verify access, and get_state returned nothing for the response_id — the entry expired or was already deleted; surfaced as 404.","triggerScenarios":"Thrown at litellm/proxy/response_api_endpoints/endpoints.py:828 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the response_id; the response may have expired from Redis or never been stored."],"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-14T05:17:10.506Z"}