DEV Community

Manu Shukla
Manu Shukla

Posted on Originally published at ecorpit.com

26 August 2026: OpenAI removes the Assistants API, and there is no automated thread migration

26 August 2026: OpenAI removes the Assistants API, and there is no automated thread migration

Summary. OpenAI's Assistants API is removed from the API on 26 August 2026, five days from now, and Microsoft retires the Azure OpenAI Assistants API on the same calendar date. The Assistants migration guide tells teams they can move "without losing any feature support" and then states, in bold, that "We will not provide an automated tool for migrating Threads to Conversations." The guide never mentions file_search, code_interpreter, vector stores or function calling anywhere in its body. It routes assistants onto Prompts, a dashboard-only object whose own v1/prompts API is scheduled to shut down on 30 November 2026. Two more OpenAI shutdown waves follow within 33 days: the Videos API and the sora-2 family on 24 September 2026, and four legacy GPT snapshots on 28 September 2026. Separately, openai-python 3.0.0 landed on 12 August 2026 with one breaking change — HTTPX2 replaces httpx as the default HTTP client — so the SDK a team upgrades to mid-migration is not the SDK it was running.

The dates, from the deprecations page

OpenAI's deprecations page carries the notice under the heading "2025-08-20: Assistants API": "On August 26th, 2025, we notified developers using the Assistants API of its deprecation and removal from the API one year later, on August 26, 2026." The accompanying table lists the shutdown date as 2026-08-26 with the recommended replacement given as "Responses API and Conversations API".

Shutdown date System Stated replacement
26 August 2026 Assistants API Responses API and Conversations API
24 September 2026 Videos API and sora-2, sora-2-pro and their dated snapshots None listed
28 September 2026 gpt-3.5-turbo-instruct, babbage-002, davinci-002, gpt-3.5-turbo-1106 gpt-5.6-terra
30 November 2026 v1/prompts and reusable prompt objects Prompt content moved into application code

The Videos API row is the one to read twice: the deprecations table gives no recommended replacement at all, only ---.

Microsoft's date matches. The Azure OpenAI Assistants API (Preview) (classic) page states: "The Assistants API is deprecated and will be retired on August 26, 2026. Use the generally available Microsoft Foundry Agents service." The replacement does not match. OpenAI sends you to the Responses API and Conversations API; Microsoft sends you to Foundry Agents. A team running the same integration against both endpoints has two different migrations to do, not one. We covered the Azure path separately in our analysis of the Azure OpenAI Assistants to Foundry Agents migration.

What the migration guide actually maps

The guide's own "What's changed?" table gives four mappings:

Before Now OpenAI's stated reason
Assistants Prompts "Prompts hold configuration (model, tools, instructions) and are easier to version and update"
Threads Conversations "Streams of items instead of just messages"
Runs Responses "Responses send input items or use a conversation object and receive output items; tool call loops are explicitly managed"
Run steps Items "Generalized objects—can be messages, tool calls, outputs, and more"

Read the third row again. "Tool call loops are explicitly managed" is the migration. Under Runs, OpenAI drove the loop: you polled run.status, and when a run entered requires_action you submitted tool outputs and the platform resumed. Under Responses there is no loop to poll. The guide states the consequence plainly in prose: "Your application code now handles orchestration (history pruning, tool loop, retries) while your prompt focuses on high-level behavior and constraints."

That is not a configuration change. It is orchestration code a team has to write, test and operate, and the guide ships no sample showing how to write it. The Assistants-side sample includes the while run.status in ("queued", "in_progress"): time.sleep(1) poll; the Responses-side sample is a single openai.responses.create(...) call with no loop and an empty "tools": [].

The three gaps

No automated thread migration. The guide's own words: "We will not provide an automated tool for migrating Threads to Conversations. Instead, we recommend migrating new user threads onto conversations and migrating older ones as necessary." What it offers instead is a short backfill snippet that pages beta.threads.messages.list(...) and calls openai.conversations.create(items=items). That snippet converts message content of type text and image_url only. Run steps, tool calls, tool outputs, file attachments and annotations are not in it. And the Conversations create endpoint documents that "You may add up to 20 items at a time", so a backfill of any real thread is a paged, rate-limited job, not a single call.

Tools are unaddressed. file_search, code_interpreter, "vector store" and "function calling" do not appear in the migration guide's body. The thread sample shows "tool_resources": {} and the guide never explains the non-empty case. If your assistant has a vector store attached, the document that tells you how to migrate does not mention it.

The replacement object is itself deprecated. The guide's first migration step is to recreate each assistant as a prompt in the dashboard, and it says so: prompts "can only be created in the dashboard". Then it warns: "Reusable prompt objects are also being deprecated. If you use this migration path, review the prompts deprecation timeline before adopting prompt objects in a long-lived integration." The migrate-from-prompt-object guide gives the timeline: "Prompt creation will be de-emphasized beginning June 3, 2026, and v1/prompts is scheduled to shut down on November 30, 2026." Its instruction is to "move the prompt content out of the managed prompt object and into your application code."

So the guide's recommended first step points at an object that dies 96 days after the Assistants API does, and a second OpenAI page tells you to skip it. The dashboard-only constraint compounds this: there is no API, CLI or Terraform path for creating prompts, so a team with forty assistants cannot script step one.

What to do with five days left

If you are still on Assistants on 21 August 2026, you are not migrating cleanly by 26 August. Sequence it as containment first.

Skip prompts entirely. Put instructions, model choice and tool schemas in source control and pass messages through input on responses.create. That is what OpenAI's own prompt-migration page tells you to do, and it removes a dashboard dependency and a 30 November deadline in one step.

Write the tool loop before you write anything else. It is the only genuinely new code, and everything else in the migration is object renaming around it.

Treat thread history as a data-export problem separate from the cutover. New conversations start on the Conversations API today; old threads get read out through beta.threads.messages.list while that endpoint still answers. The guide gives no cut-off date after which the read path stops working, which is precisely why the export should not wait for the cutover.

The real cost here is not the API surface. It is that the run loop was doing orchestration work nobody wrote down, and the migration makes that work explicit for the first time.

Retention: the part with compliance consequences

The conversation state guide documents a retention asymmetry that most migration plans will not have noticed: "Response objects are saved for 30 days by default... Conversation objects and items in them are not subject to the 30 day TTL. Any response attached to a conversation will have its items persisted with no 30 day TTL."

Threads were server-side message stores with the same practical effect, so this is not a new exposure. It is a newly explicit one, and it lands during a migration when someone is reviewing the data flow anyway. OpenAI states no replacement retention period for conversations. There is no documented expiry.

India-specific considerations

Under the Digital Personal Data Protection Act 2023, data minimisation and storage limitation are the operator's obligation, not the processor's default. A conversation object with no stated TTL is a store you have to age out yourself, through your own deletion calls, on your own schedule, and you need that schedule written down before the cutover rather than after. Indian teams that adopted Assistants for customer-facing support flows are the ones most affected, because those threads carry the most personal data and are the least suitable for the "migrate older ones as necessary" advice the guide offers. Our analysis of OpenAI's zero data retention scope and India residency covers which endpoints ZDR actually reaches.

The SDK moves under you

openai-python 3.0.0 was published on 12 August 2026 with a single breaking change, quoted from the releases page: "HTTPX2 is now the default HTTP client, and httpx is no longer installed automatically. Applications using custom HTTPX clients, transports, or configuration objects must migrate to their HTTPX2 equivalents or use the temporary, runtime-only legacy HTTPX escape hatch."

The escape hatch is described by OpenAI as temporary and runtime-only. Version 2.54.0 shipped on 11 August 2026, one day earlier, and experimental HTTPX2 support first appeared in 2.47.0 in July 2026. If your migration plan includes "upgrade the SDK", pin the version deliberately: changing the HTTP client and the API surface in the same deploy makes a failure impossible to attribute.

What is still unknown

OpenAI has not published what happens to assistant and thread data after 26 August 2026, whether beta.threads.messages.list remains readable past the shutdown, or any behavioural difference list covering streaming, truncation settings or token limits between Runs and Responses. The August 2026 API changelog contains no entry about the Assistants API, the Conversations API or the shutdown at all — its August entries cover the prompt caching dashboard, transparent image backgrounds, Ultrafast mode and usage reporting.

FAQ

When exactly does the Assistants API stop working?

OpenAI's deprecations page gives a shutdown date of 26 August 2026, following a notice issued on 26 August 2025. Microsoft retires the Azure OpenAI Assistants API on the same calendar date. Neither vendor publishes what happens to stored assistant or thread data after that date.

Is there a tool to move my threads to conversations?

No. The migration guide states that OpenAI will not provide an automated tool for migrating threads to conversations, and recommends moving new user threads onto conversations while migrating older ones as necessary. The guide includes a short backfill snippet that handles text and image content only.

Does the migration guide cover file_search and code_interpreter?

No. The terms file_search, code_interpreter, vector store and function calling do not appear in the body of OpenAI's Assistants migration guide. The thread example shows an empty tool_resources object and the guide does not explain what happens when that object is populated on a real assistant.

Should I migrate my assistants to Prompts?

OpenAI's guide recommends recreating assistants as prompts in the dashboard, then warns that reusable prompt objects are also being deprecated. The v1/prompts API is scheduled to shut down on 30 November 2026. OpenAI's separate prompt migration page tells developers to move prompt content into application code instead.

What replaces the run polling loop?

Nothing automatic. OpenAI's mapping table says tool call loops are explicitly managed under Responses, and the guide states that application code now handles orchestration, including the tool loop, history pruning and retries. No sample in the guide shows how to implement that loop.

How long is conversation data retained?

OpenAI states that response objects are saved for 30 days by default, and that conversation objects and the items inside them are not subject to that 30 day TTL. No replacement retention period is published for conversations, so deletion is the caller's responsibility rather than a platform default.

What else is OpenAI shutting down this quarter?

The deprecations page lists the Videos API and the sora-2 model family on 24 September 2026 with no recommended replacement given, four legacy GPT snapshots including gpt-3.5-turbo-instruct on 28 September 2026 replaced by gpt-5.6-terra, and the v1/prompts API alongside the Evals dashboard on 30 November 2026.

Does upgrading the Python SDK affect this migration?

It can. Version 3.0.0, published on 12 August 2026, makes HTTPX2 the default HTTP client and stops installing httpx automatically. Applications with custom HTTPX clients, transports or configuration objects must migrate or use a temporary runtime-only escape hatch. Pin the SDK version separately from the API migration.

How eCorpIT can help

Five days is a containment window, not a migration window. Our OpenAI Assistants API migration service covers the tool-loop rewrite, a thread export that runs independently of the cutover, and a prompt-in-code layout that avoids the 30 November 2026 v1/prompts deadline entirely. Teams also running Agent Builder or the Evals platform should read our note on the November 2026 OpenAI shutdowns before planning a single migration for both. Talk to our senior engineering team through /contact-us/.

References

  1. Deprecations, OpenAI API documentation
  2. Assistants migration guide, OpenAI API documentation
  3. Changelog, OpenAI API documentation
  4. Migrate from prompt objects, OpenAI API documentation
  5. Conversation state, OpenAI API documentation
  6. Create conversation, OpenAI API reference
  7. Conversation items, OpenAI API reference
  8. Azure OpenAI Assistants API (Preview) (classic), Microsoft Learn
  9. openai-python releases, GitHub
  10. openai-python CHANGELOG.md, GitHub

Last updated: 21 August 2026.

Top comments (0)