delivered for clients · names withheldupgrade AI and agents

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.

  1. 01Find every caller
  2. 02Move configuration into code
  3. 03Threads to conversations
  4. 04Runs to responses or the Agents SDK
  5. 05Tools and files
  6. 06Re-test and release
case-study / openai-assistants-to-responses-api delivered
beforeOpenAI Assistants API (shut down 26 Aug 2026) afterResponses API, Conversations API or Agents SDK
01 · APPLICATIONS 02 · CODE AND CONFIG 03 · OPENAI APIS 04 · TEAM-OWNED DATA Support bot: own tool loop Support bot own tool loop Internal assistant: handoffs · guardrails Internal assistant handoffs · guardrails Instructions and tool schemas: version control Instructions andtool schemas version control OpenAI Agents SDK: sessions · tracing OpenAI Agents SDK sessions · tracing Responses API: tool calls handled in code Responses API tool calls handled incode Conversations API: rebuilt history Conversations API rebuilt history Stored messages: app database · logs Stored messages app database · logs Real test cases: before and after outputs Real test cases before and afteroutputs
case file

The story

Told without the client's name or anything that could identify them.

what happened

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 urgent

OpenAI 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.

problem statement
  • 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.
architecture

The estate, before and after

before
before

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.

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. 01 · APPLICATIONS 02 · OPENAI PLATFORM 03 · HOSTED STATE runs runs thread calls message storage file search planned move Support bot customer chat Internal assistant staff questions Scripts and low-codetools behind feature flags AI Assistants API shut down 26 Aug 2026 Dashboard prompt objects close 30 Nov 2026 Threads in OpenAI no copy kept Vector stores file search
Read the diagram as text
  1. Support bot → Assistants API: runs
  2. Internal assistant → Assistants API: runs
  3. Scripts and low-code tools → Assistants API: thread calls
  4. Assistants API → Threads in OpenAI: message storage
  5. Assistants API → Vector stores: file search
  6. Internal assistant → Dashboard prompt objects: planned move
after
after

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.

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. 01 · APPLICATIONS 02 · CODE AND CONFIG 03 · OPENAI APIS 04 · TEAM-OWNED DATA instructions instructions agent runtime responses Responses calls conversation items history rebuild release checks Support bot own tool loop Internal assistant handoffs · guardrails Instructions and toolschemas version control AI OpenAI Agents SDK sessions · tracing AI Responses API tool calls handledin code AI Conversations API rebuilt history Stored messages app database · logs Real test cases before and after outputs
Read the diagram as text
  1. Instructions and tool schemas → Support bot: instructions
  2. Instructions and tool schemas → OpenAI Agents SDK: instructions
  3. Internal assistant → OpenAI Agents SDK: agent runtime
  4. Support bot → Responses API: responses
  5. OpenAI Agents SDK → Responses API: Responses calls
  6. Responses API → Conversations API: conversation items
  7. Stored messages → Conversations API: history rebuild
  8. Real test cases → Responses API: release checks
results

What the client got

What changed for the client once the work was done. Described, not scored: we don't publish client figures.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

what can go wrong

Risks we plan for

  1. 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.

  2. 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.

  3. 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.

  4. 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.

ai in this move

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 →
you keep

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
talent and delivery · responses api, conversations api or agents sdk

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

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
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.

sources 6 sources linked last checked 2026-10-20 content fingerprint 15af205b
  1. 01OpenAI API deprecationsdevelopers.openai.com ↗
  2. 02OpenAI: Assistants migration guidedevelopers.openai.com ↗
  3. 03OpenAI API changelogdevelopers.openai.com ↗
  4. 04OpenAI Agents SDK documentationopenai.github.io ↗
  5. 05Microsoft Learn: What is Microsoft Foundrylearn.microsoft.com ↗
  6. 06Microsoft Learn: What's new in Foundry Agent Service (classic)learn.microsoft.com ↗
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Planning this move?

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • 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