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.

TheRouter Newsroomvia OpenAI
Countdown to August 26, 2026 shutdown of OpenAI Assistants API with migration path to Responses API

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 APIResponses APIWhat it means for routing
Assistant objectPrompt (dashboard-versioned)Model config decoupled from API calls
ThreadConversationServer-side item stream, not just messages
RunResponseSynchronous execution; you manage tool loops
Run stepItemGeneralized 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:

  1. 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.
  2. 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.
  3. Audit tool definitions. Move tool schemas into versioned Prompts in the dashboard. Your code should reference prompt_id, not inline tool definitions.
  4. 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.
  5. 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.

Help & contact