BerriAI/litellm · error · HTTPException

Polling response {response_id} not found

Error message

Polling response {response_id} not found

What it means

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.

Source

Thrown at litellm/proxy/response_api_endpoints/endpoints.py:828

        user_request_timeout,
        user_temperature,
        version,
    )
    from litellm.proxy.response_polling.polling_handler import ResponsePollingHandler

    # Check if this is a polling ID
    if ResponsePollingHandler.is_polling_id(response_id):
        # Handle polling response deletion
        if not redis_usage_cache:
            raise HTTPException(status_code=500, detail="Redis cache not configured.")

        polling_handler: Final = ResponsePollingHandler(redis_cache=redis_usage_cache)

        # Get state to verify access
        state: Final = await polling_handler.get_state(response_id)

        if not state:
            raise HTTPException(status_code=404, detail=f"Polling response {response_id} not found")

        # Delete from cache
        success: Final = await polling_handler.delete_polling(response_id)

        if success:
            return DeleteResponseResult(id=response_id, object="response", deleted=True)
        else:
            raise HTTPException(status_code=500, detail="Failed to delete polling response")

    # Normal provider response flow
    data: Final = await _read_request_body(request=request)
    data["response_id"] = response_id
    processor: Final = ProxyBaseLLMRequestProcessing(data=data)
    try:
        return await processor.base_process_llm_request(
            request=request,
            fastapi_response=fastapi_response,
            user_api_key_dict=user_api_key_dict,

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Verify the response_id; the response may have expired from Redis or never been stored.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/response_api_endpoints/endpoints.py:828 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/e01f94ac79169747. Report an issue: GitHub.