OpenAI Assistants API to the Responses API and the Agents SDK
Cohash moves applications off the OpenAI Assistants API, shut down on 26 August 2026, to the Responses and Conversations APIs or the OpenAI Agents SDK. Assistants become instructions and tool schemas kept in your code. Threads become conversations rebuilt from messages you stored, and runs become responses with an explicit tool loop. We re-test outputs on real cases before release, and we don't build anything new on APIs that are next in line to shut down.
- 01Find every caller
- 02Move configuration into code
- 03Threads to conversations
- 04Runs to responses or the Agents SDK
- 05Tools and files
- 06Re-test and release
The story
Told without the client's name or anything that could identify them.
A software company's support bot and an internal assistant both started failing at the end of August 2026, when OpenAI shut down the Assistants API. Some of the calls were hidden behind feature flags. Worse, the first migration plan had moved assistant settings into dashboard prompt objects, which close on 30 November 2026. We searched code, configuration and logs for every Assistants, Threads and Runs call and moved instructions and tool schemas into version-controlled code. Conversations were rebuilt from the team's own stored messages. The apps now run on the Responses API and the Agents SDK, and every change was re-tested on real cases before it shipped.
why it was urgentOpenAI announced the Assistants API deprecation on 26 August 2025 and removed it on 26 August 2026, pointing to the Responses and Conversations APIs. The v1/prompts API, reusable prompt objects and Agent Builder shut down on 30 November 2026, and GPT-3.5, o1 and o3-mini shut down on 23 October 2026.
- openA support bot or internal assistant started failing at the end of August 2026.
- recurringSomewhere behind a feature flag, code still calls /v1/assistants, /v1/threads or the runs endpoints.
- blockedThread history lives only in OpenAI, and nobody kept a copy.
- openThe migration plan moves assistant settings into dashboard prompt objects.
The estate, before and after
Before: apps on the shut-down Assistants API
The support bot, an internal assistant and some scripts all leaned on the Assistants API, with threads and file search state living inside OpenAI. The fix someone had planned used prompt objects, which were also on the shutdown list.
Read the diagram as text
- Support bot → Assistants API: runs
- Internal assistant → Assistants API: runs
- Scripts and low-code tools → Assistants API: thread calls
- Assistants API → Threads in OpenAI: message storage
- Assistants API → Vector stores: file search
- Internal assistant → Dashboard prompt objects: planned move
After: Responses API and Agents SDK with config in code
After: instructions and tool schemas come from code in version control. The simpler app drives its own tool loop on the Responses API, the other uses the Agents SDK, and history comes from the team's own stored messages.
Read the diagram as text
- Instructions and tool schemas → Support bot: instructions
- Instructions and tool schemas → OpenAI Agents SDK: instructions
- Internal assistant → OpenAI Agents SDK: agent runtime
- Support bot → Responses API: responses
- OpenAI Agents SDK → Responses API: Responses calls
- Responses API → Conversations API: conversation items
- Stored messages → Conversations API: history rebuild
- Real test cases → Responses API: release checks
How we run it, phase by phase.
6 phases take you from OpenAI Assistants API (shut down 26 Aug 2026) to Responses API, Conversations API or Agents SDK. Each one ends with something you can check before the next starts. As you scroll, the blocks show the estate moving across.
- phase 01
Find every caller
Search code, configuration and logs for Assistants, Threads and Runs calls, in scripts and low-code tools as well as the main apps. Map each call to the feature and the team that owns it.
- phase 02
Move configuration into code
OpenAI's guide maps assistants to prompts, but the v1/prompts API and reusable prompt objects shut down on 30 November 2026. Model choice, instructions and tool schemas go into version-controlled application code instead.
- phase 03
Threads to conversations
The Assistants message-listing call doesn't work any more, so conversation history has to come from messages you stored yourself. Where the history is worth keeping, text and images are rebuilt as Conversation items.
- phase 04
Runs to responses or the Agents SDK
The Responses API hands the tool-call loop to your code. Apps that need handoffs, guardrails, sessions and tracing are better off on the OpenAI Agents SDK, which supplies that runtime and calls the Responses API by default.
- phase 05
Tools and files
Check each hosted tool and file store against today's Responses tool docs and swap out anything that doesn't carry over. Watch vector stores and file search in particular. The migration guide says nothing about them.
- phase 06
Re-test and release
Run the same real cases through old logs and the new path, compare outputs, and move models off anything on the shutdown list in the same pass.
What the client got
What changed for the client once the work was done. Described, not scored: we don't publish client figures.
- result 01
No code calls the Assistants endpoints
Nothing still calls /v1/assistants, /v1/threads or the runs endpoints. We found every caller, scripts and low-code tools too, gave each an owner, and moved or removed it.
- result 02
Instructions and tool schemas live in version control
Model choice, instructions and tool schemas live in application code now. Nothing depends on prompt objects or Agent Builder, so their shutdown won't break anything.
- result 03
Conversation history comes from the team's own records
We rebuilt the conversations worth keeping as Conversation items, using messages the team had stored. From now on new messages are stored on their side too.
- result 04
The app owns its tool loop, with tracing
Simple flows call the Responses API and run an explicit tool loop. The one app that needs handoffs and guardrails runs on the Agents SDK, with tracing on.
- result 05
Releases are checked against real cases
We run the same real cases through old logs and the new path before release, and in the same pass we moved off the models on the shutdown list.
Risks we plan for
-
Lost history
If you let OpenAI hold your threads, you can't list them any more. Unless your own side logged the messages, those conversations may well be gone.
-
Migrating onto the next shutdown
Prompt objects and Agent Builder close on 30 November 2026. Building on them now means migrating again before the end of November.
-
Behavior drift
Owning the tool loop changes retry, timeout and ordering behavior. Changing models at the same time makes differences harder to explain, so we compare one change at a time where we can.
-
Azure deployments
Apps on Microsoft Foundry have the same problem on a different clock. Microsoft maps the Assistants API to the Responses API (Agents v2) there, and classic agents retire on 31 March 2027.
Where AI helps, and where it needs guardrails
The Responses API adds web search, MCP and computer use as tools, and OpenAI's Agents API has been in public beta since 10 September 2026. Be careful with remote MCP tools. The model decides when to call them, and your code doesn't. So we give each MCP server an app connects to its own scoped OAuth token and an allowed-tools list, and writes need approval.
forward deployed engineers →What you're left with
We write these for your setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.
- inventory01
Inventory of Assistants API callers with owners
yours to keep - evidence02
Configuration, instructions and tool schemas moved into version control
yours to keep - document03
Conversation history rebuilt from stored messages where needed
yours to keep - code04
Responses API or Agents SDK implementation with tracing
yours to keep - tests05
Before-and-after test results on real cases
yours to keep
Platforms and services on this move
Certified engineers, wherever you need them.
Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.
Onsite
Engineers at your sites in the US
Nearshore
Overlapping hours with US teams
Offshore
Overnight progress on your backlog
All time zones
Coverage handed over across time zones
01Responses API or Agents SDK?
Simple flows, where your code already manages state and tools, fit the Responses API. Apps with several agents, handoffs or guardrails fit the Agents SDK, which runs on the Responses API underneath anyway.
02Can we recover old threads?
Only from your own records. The Assistants message-listing call is gone, so the history has to come out of logs or a database you kept.
03Should we switch providers while we're at it?
It's an option, and an eval set makes the comparison fair. Doing both at once makes problems harder to trace, so we usually migrate first and compare providers after.
04How big is the job?
It depends how many apps call the API, how much state they parked in threads and how many hosted tools they used. The caller inventory turns that into a list we can scope.
Often on the same roadmap
AI pilot to production with forward deployed engineers
Taking an AI pilot into production with forward deployed engineers who work with the business team, build evals, connect real systems and hand over cleanly.
read the case studyMicrosoft 365 Copilot or Gemini Enterprise rollout with real adoption
Rolling out Microsoft 365 Copilot or Gemini Enterprise with oversharing fixed first, use cases tied to real tasks and adoption measured past login counts.
read the case studyEnterprise search and RAG that respects document permissions
Enterprise search and RAG that only return what each user may open. We capture source ACLs at ingestion, filter at query time and leak-test.
read the case study15af205b - 01OpenAI API deprecationsdevelopers.openai.com ↗
- 02OpenAI: Assistants migration guidedevelopers.openai.com ↗
- 03OpenAI API changelogdevelopers.openai.com ↗
- 04OpenAI Agents SDK documentationopenai.github.io ↗
- 05Microsoft Learn: What is Microsoft Foundrylearn.microsoft.com ↗
- 06Microsoft Learn: What's new in Foundry Agent Service (classic)learn.microsoft.com ↗
Planning this move?
A 30-minute working session with a senior engineer. No slides.
- The platform and the version you're on
- Where you need to get to, and by when
- What's custom: rules, plugins, integrations
- Any audit finding or deadline driving it