OpenAI Assistants API Shuts Down August 26, 2026: Responses API Migration Checklist
OpenAI Assistants API shuts down August 26, 2026 — 56 days away. Official migration replaces Threads/Runs/Assistants with Conversations/Responses/Prompts. Checklist covers grep patterns, thread state, tool schemas, routing proxy compatibility, and Azure timelines.

The OpenAI Assistants API shuts down on August 26, 2026. That's 56 days from today. If your team has any production workload on Assistants — threads, runs, file search, code interpreter — it stops working on that date unless migrated to the Responses API.
This is not a soft deprecation with graceful fallback. After August 26, API calls to openai.beta.threads, openai.beta.assistants, and related endpoints return errors. The replacement is the Responses API, which has now reached full feature parity including deep research, MCP tool connections, and computer use.
What changed
OpenAI deprecated the Assistants API beta after the Responses API reached feature parity. The architecture reason is fundamental: Assistants bundled model choice, instructions, and tool declarations into persistent server-side objects (Assistants) that owned execution state (Threads, Runs). The Responses API disaggregates these concerns into per-call decisions your routing layer can control.
The mapping is:
| Assistants API | Responses API | What it means for routing |
|---|---|---|
| Assistant object | Prompt (dashboard-versioned) | Model config decoupled from API calls |
| Thread | Conversation | Server-side item stream, not just messages |
| Run | Response | Synchronous execution; you manage tool loops |
| Run step | Item | Generalized object: message, tool call, output |
The Responses API also now supports the same model selector you already use for chat completions — meaning your existing routing policy (model fallbacks, latency tiers, cost thresholds) can apply directly to stateful agent sessions.
Why it matters for AI engineering teams
Model selection becomes per-call. In the Assistants API, the model was baked into the Assistant object. Changing model required updating the object and potentially invalidating cached state. With the Responses API, model is a per-request parameter — your routing layer can swap providers, downgrade tiers during load, or run cost-based selection without touching configuration objects.
Prompt versioning replaces static system instructions. Prompts are dashboard-managed objects with snapshot versioning. You can A/B test behavioral profiles by swapping prompt_id in code — no object create/delete, no state invalidation. This is the operator pattern that maps cleanly to gateway-level routing: prompt ID as a versioned behavioral contract, model selection as a runtime routing decision.
Tool loops are explicit. Assistants abstracted tool execution into polling Runs. Responses makes you manage the tool call loop directly — receive tool calls in output items, execute them, send results back as input items. This explicitness means your routing proxy can intercept, log, and route tool executions just like regular model calls, rather than treating them as opaque Run state.
Conversations store context across sessions. Threads stored messages; Conversations store items (messages, tool calls, tool outputs). For stateful agent workflows, this removes the need to maintain a parallel conversation state in your own database when the provider manages it.
The router/operator angle
The Assistants API was architecturally hostile to routing proxies. Because model choice was embedded in the Assistant object and execution state lived in Threads and Runs, a router couldn't intercept or modify routing decisions without owning the full Assistants lifecycle.
The Responses API is built differently: the model parameter is on every request, tool schemas come from the versioned Prompt, and execution is synchronous. This means a router positioned in front of the API can apply the same routing logic it applies to chat completions — provider selection, fallback chains, retry policies, usage accounting — without losing state or breaking execution.
For teams running multi-provider setups, this matters because the Responses API's model parameter accepts any model identifier your router can resolve. You can route a conversation's first turns to a cheaper model, escalate to a higher-capability model mid-session when complexity is detected, and fall back to an alternative provider — all without the Agent object owning the model choice.
What to audit before August 26:
- Find all Assistants API usage. Grep your codebase for
openai.beta.threads,openai.beta.assistants,openai.beta.runs, stored Assistant IDs, and stored Thread IDs — any Assistants beta namespace usage is affected. - Identify thread state you own. If you're storing Thread IDs and referencing them across sessions, plan the Conversations migration: Conversations have different IDs and item structure.
- Audit tool definitions. Move tool schemas into versioned Prompts in the dashboard. Your code should reference
prompt_id, not inline tool definitions. - Test routing proxy compatibility. If you proxy OpenAI API calls, verify your proxy handles the Responses API request/response format — it differs from both chat completions and the Assistants beta endpoints.
- Check Azure OpenAI timelines separately. Azure manages its own retirement schedule; the August 26 date applies to the OpenAI API platform. Check Azure's documentation for the equivalent timeline.
What TheRouter users should watch or try
The Responses API's per-request model parameter is compatible with any OpenAI-compatible routing gateway. If you're using TheRouter's gateway with OpenAI as a backend, the migration path for Responses API calls is the same as for chat completions — update your base URL, keep your Authorization header, and your existing routing policy (model fallbacks, provider selection, retry logic) applies automatically.
Review TheRouter's docs for guidance on setting up OpenAI-compatible provider routing. Teams migrating Assistants API workloads should test their tool call flows end-to-end through the routing layer before the August 26 deadline — the explicit tool loop in Responses API makes proxy-level inspection and logging of tool executions straightforward to implement.
The 67-day window is sufficient for most migrations, but only if the audit starts now. Teams that wait until August will hit the deadline under pressure.

OpenAI Evals Platform, Agent Builder, and Reusable Prompts Deprecated: November 2026 Shutdown
OpenAI's evals platform deprecation, Agent Builder shutdown, and v1/prompts API removal all land November 30, 2026. Here's what operators need to migrate and how the routing layer absorbs the gap.

OpenAI gpt-image-2 Migration Guide for gpt-image-1, gpt-image-1.5, and chatgpt-image-latest APIs
Official OpenAI gpt-image-2 migration checklist for teams still using gpt-image-1, gpt-image-1.5, gpt-image-1-mini, or chatgpt-image-latest before the Q4 2026 API shutdown.

OpenAI's Biggest Deprecation Wave Yet: gpt-4, o1, o4-mini, and 25+ Models Shut Down by October 2026
OpenAI's April 22 deprecation notice covers 25+ model IDs across two hard shutdown dates — July 23 and October 23, 2026. If your routing config still references gpt-4, gpt-3.5-turbo, o1, o3-mini, or o4-mini, you have a breaking change on the calendar.