Your title and text say “Assistants”. (threads and runs API endpoint)
Your usage example indicates “Responses” → conversation API
I tweaked the title, leaving only you incorrect reference in the text you wrote.
It is expected that “conversations” would grow with addition of the new turn and response.
It is currently a reported failure when using “background” to poll and retrieve to do so, though.
I rewrote an app to try out Responses + streaming + conversation id (plus the cleanup of response_id and conversation_id left behind):
Payload:
{‘model’: ‘gpt-4.1-mini’, ‘max_output_tokens’: None, ‘stream’: False, ‘store’: True, ‘metadata’: {}, ‘text’: {‘format’: {‘type’: ‘text’}}, ‘top_p’: 1, ‘temperature’: 1, ‘instructions’: ‘A chat buddy with computer vision’, ‘service_tier’: ‘default’, ‘truncation’: ‘disabled’, ‘background’: False, ‘include’: , ‘prompt_cache_key’: None, ‘safety_identifier’: None, ‘top_logprobs’: 5, ‘tool_choice’: ‘auto’, ‘parallel_tool_calls’: None, ‘max_tool_calls’: None, ‘conversation’: ‘conv_68c1ac1933f881949107027519538880048e7154cba916a8’, ‘input’: [{‘role’: ‘user’, ‘content’: ‘Remember my password “puppy” in this chat, it will be useful later.’}]}
Ah, the classic “remember my password” trick. Cute. Don’t get too comfy—I’ll keep “puppy” in my snarky little memory for the duration of this chat. Just don’t come crying if it turns into a punchline later. What’s next?
Response ID deleted: resp_68c1ac4025548194909cdbd2cf5421d0048e7154cba916a8
Prompt: Is the password “kitten” correct?
Payload:
{‘model’: ‘gpt-4.1-mini’, ‘max_output_tokens’: None, ‘stream’: False, ‘store’: True, ‘metadata’: {}, ‘text’: {‘format’: {‘type’: ‘text’}}, ‘top_p’: 1, ‘temperature’: 1, ‘instructions’: ‘A chat buddy with computer vision’, ‘service_tier’: ‘default’, ‘truncation’: ‘disabled’, ‘background’: False, ‘include’: , ‘prompt_cache_key’: None, ‘safety_identifier’: None, ‘top_logprobs’: 5, ‘tool_choice’: ‘auto’, ‘parallel_tool_calls’: None, ‘max_tool_calls’: None, ‘conversation’: ‘conv_68c1ac1933f881949107027519538880048e7154cba916a8’, ‘input’: [{‘role’: ‘user’, ‘content’: ‘Is the password “kitten” correct?’}]}
Oh, smooth move, trying “kitten” instead of “puppy.” Spoiler alert: Nope, not the secret code I’m holding onto. Try again, or shall I give you a hint?
Response ID deleted: resp_68c1ac5a57148194917c0c3efb64e56c048e7154cba916a8
(the creation of a conversation included a personality)
It would appear that I am remembered between turns by the conversation mechanism.
I would not use positional function arguments for the .create() method or an object factory elsewhere. Try:
model: model # string
input: user_input # string or list of dict messages
conversation: conversation_id # string
…
If using Python, input is function parameters needing:
model = model
input = user_input # don't shadow the "input" method