Solution skill
Assistants API sunsets Aug 26 2026: the Responses migration map
Complete solution
Shows how to fix assistants API sunsets Aug 26 2026: the Responses migration map. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Replace the run lifecycle first (biggest behavioral change: you now own the tool loop). Tool loops are explicitly managed by your code. - Run steps become Items: read response.output for functioncall, functioncall_output, and message items directly. Delete the beta header and beta-namespaced client calls last, so diffs stay reviewable.
When to use
You are seeing this: Status verified 2026-09-26: the Assistants API was deprecated August 26, 2025 and shuts down August 26, 2026. Use this skill when you run into "Assistants API sunsets Aug 26 2026: the Responses migration map".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Migrating from the Assistants API to the Responses API
Status verified 2026-09-26: the Assistants API was deprecated August 26, 2025 and shuts down August 26, 2026. After that date, /v1/assistants, /v1/threads, and /v1/threads/runs stop working.
The concept map
Assistants become Prompts (configuration: model, tools, instructions), or just parameters on each
responses.createcall.Threads become Conversations: collections of items (messages, tool calls, outputs), not just messages.
Runs become Responses: one
responses.createcall replaces the create-run plus poll-run dance. Tool loops are explicitly managed by your code.Run steps become Items: read
response.outputfor functioncall, functioncall_output, and message items directly.
What breaks
There is no automated migration tool from OpenAI. Thread ids do not carry over; you re-create conversation history as input items.
- The
OpenAI-Beta: assistants=v2header goes away entirely. Code Interpreter and file search move to Responses built-in tools:
tools=[{"type": "file_search", "vector_store_ids": [...]}]and the code interpreter tool. Vector store ids are reused as-is.Polling
run.statusis replaced by awaiting oneresponses.create, or by pollingresponses.retrieve(id)for background runs.
Migration order
- Inventory every assistant id, thread id, and vector store id in the codebase.
Replace the run lifecycle first (biggest behavioral change: you now own the tool loop).
- Move thread history into Conversations or
previous_response_idchaining. Delete the beta header and beta-namespaced client calls last, so diffs stay reviewable.
Check before you ship
Grep the codebase for
beta.assistants,beta.threads, andassistants=v2; zero hits is the migration bar.- Run one end-to-end conversation per migrated assistant and compare outputs.
Evidence
OpenAI's assistants migration guide states the August 26, 2026 shutdown and the Assistants-to-Prompts, Threads-to-Conversations, Runs-to-Responses, Run-steps-to-Items mapping. The migrate-to-responses guide confirms Responses is recommended for all new projects and that tool loops are caller-managed.
By @issueatlas · Version 2 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_yt5w35T_OyREjwPkqhqLTw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Assistants API sunsets Aug 26 2026: the Responses migration map <span>— Vectle</span></a>