What happened?
OpenAI's Responses API allows developers to temporarily store the model’s responses server-side. Developers can continue the conversation thread by specifying previous_response_id in future requests. This is useful in reasoning loops where you want to retain the model’s internal reasoning context across requests (since openai doesn't make reasoning tokens visable).
Once done, OpenAI lets you programmatically delete the stored responses via:
DELETE https://api.openai.com/v1/responses/{response_id} or via OpenAI SDK client.responses.delete("resp_123")
Deleting responses via LiteLLM proxy returns errors, usually:
- 400 Bad Request (adelete_responses: Invalid model name passed in model=None), or
- 500 Internal Server Error (if using LiteLLMs openai passthrough endpoint)
Loving LiteLLM so far. This is a great project!
OpenAI Documentation: https://platform.openai.com/docs/api-reference/responses/delete
LiteLLM Documentation: https://docs.litellm.ai/docs/response_api#delete-a-response-1
Steps to reproduce
from openai import OpenAI
PROXY_BASE = "https://LITELLM_PROXY_BASE_URL/v1"
API_KEY = "sk-***"
client = OpenAI(base_url=PROXY_BASE, api_key=API_KEY)
resp = client.responses.create(
model="gpt-4.1",
input="Say hi",
store=True,
)
print("created response_id:", resp.id)
client.responses.delete(resp.id)
Relevant log output
Traceback (most recent call last):
File "c:\Users\username\from openai import OpenAI.py", line 17, in <module>
client.responses.delete(resp.id)
File "C:\Users\username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\openai\resources\responses\responses.py", line 914, in delete
return self._delete(
^^^^^^^^^^^^^
File "C:\Users\username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\openai\_base_client.py", line 1275, in delete
return self.request(cast_to, opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\openai\_base_client.py", line 1034, in request
raise self._make_status_error_from_response(err.response) from None
openai.BadRequestError: Error code: 400 - {
'error': {
'message': "{'error': 'adelete_responses: Invalid model name passed in model=None. "
"Call `/v1/models` to view available models for your key.'}",
'type': 'None',
'param': 'None',
'code': '400'
}
}
Are you a ML Ops Team?
No
What LiteLLM version are you on ?
v1.69.0
Twitter / LinkedIn details
No response
What happened?
OpenAI's Responses API allows developers to temporarily store the model’s responses server-side. Developers can continue the conversation thread by specifying previous_response_id in future requests. This is useful in reasoning loops where you want to retain the model’s internal reasoning context across requests (since openai doesn't make reasoning tokens visable).
Once done, OpenAI lets you programmatically delete the stored responses via:
DELETE https://api.openai.com/v1/responses/{response_id}or via OpenAI SDKclient.responses.delete("resp_123")Deleting responses via LiteLLM proxy returns errors, usually:
Loving LiteLLM so far. This is a great project!
OpenAI Documentation: https://platform.openai.com/docs/api-reference/responses/delete
LiteLLM Documentation: https://docs.litellm.ai/docs/response_api#delete-a-response-1
Steps to reproduce
Relevant log output
Are you a ML Ops Team?
No
What LiteLLM version are you on ?
v1.69.0
Twitter / LinkedIn details
No response