Skip to content

OpenAI Assistants API Migration to Responses API Checklist

OpenAI has deprecated the Assistants API and says it will shut down on August 26, 2026. That turns the migration from a future architecture preference into a production deadline.

The replacement is not a simple endpoint rename. Production apps usually have assistants, threads, messages, runs, tools, files, vector stores, logs, evals, user permissions, and support workflows wrapped around the API. A safe migration needs to move the product’s operating model, not only the SDK calls.

Migrate Assistants API apps to Responses API plus Conversations by workflow, not by rewriting the whole product at once.

Use this migration sequence:

  1. inventory Assistants API objects, tools, files, vector stores, run states, and user-facing workflows;
  2. map Assistants to prompt/config records and application-owned workflow definitions;
  3. move new user conversations onto Conversations and Responses first;
  4. backfill old Threads only where history is still needed;
  5. migrate tool behavior and file access behind eval-covered adapters;
  6. dual-run high-value workflows before cutover;
  7. preserve audit logs, support lookup, and rollback options until the old path is retired.

Do not treat Chat Completions as the default migration target for a tool-using Assistants app. If the product uses tools, files, long-running work, or stateful agent behavior, the durable path is usually Responses API with the right state and tool boundary.

OpenAI’s Assistants migration guide says the Assistants API is deprecated, will shut down on August 26, 2026, and should be migrated to the Responses API. The same guide also says Responses provides newer capabilities such as deep research, MCP, and computer use, and that teams can manage conversations instead of hand-passing previous_response_id chains.

The most important operational detail: OpenAI says there is no automated tool for migrating Threads to Conversations. Teams need to move new user chats onto Conversations and backfill old Threads only where necessary.

That means the migration plan needs product decisions:

DecisionWhy it matters
Which assistants matter?Many products have stale assistants that should not be migrated blindly
Which Threads need history?Backfilling everything can waste time and import low-value state
Which tools need parity?Tool behavior often creates the biggest regression risk
Which evals prove parity?Endpoint migration can change behavior even when the feature looks equivalent
Which logs support incidents?Support teams still need to explain old runs after cutover

Use this as the first migration map.

Assistants API conceptMigration targetWhat to verify
AssistantPrompt/config object or application-owned agent definitionInstructions, model defaults, tools, files, metadata, owner
ThreadConversation or app-owned session recordUser scope, retention, history needed, privacy rules
MessageConversation item or input itemRole, content type, attachments, file references
RunResponse plus app-owned job stateStatus, cancellation, retries, tool calls, completion handling
Run stepResponse output items, traces, and app logsTool call evidence, intermediate outputs, errors
File searchFile search/vector store design in newer stackAccess control, freshness, indexing, citations, cost
Code interpreterHosted code execution or external sandbox policyDependencies, files, runtime limits, outputs, safety
Function callingTool adapter or function-call layerSchemas, auth, idempotency, approval rules
Assistant metadataApp-owned metadata and audit fieldsOwner, tenant, workflow, rollout cohort, support labels

The table is not enough by itself. Each row should produce a test case before cutover.

Before changing code, export a practical inventory.

Inventory itemMinimum fields
AssistantsID, name, owner, model, instructions, tools, files, production status
Threadsuser or tenant, created date, last activity, active workflow, retention need
Messagescontent types, attachments, file references, sensitive data class
Runsstatus distribution, failure reasons, tool calls, average duration, retry rate
Toolsfunction schema, auth method, read/write tier, approval requirement
Files and vector storessource owner, freshness, deletion policy, indexing cost
Evalsgolden cases, tool cases, rejection cases, incident cases
Logsrun lookup path, trace fields, support dashboard dependency

The inventory usually reveals that some assistants should be retired, not migrated.

There are three common paths.

PathBest fitRisk
Thin migrationOne or two simple assistants with minimal toolsEasy to under-test state and support behavior
Workflow-by-workflow migrationProduction products with several user journeysRequires more planning but lowers blast radius
Platform migrationMany assistants across teams or tenantsNeeds owners, dashboarding, migration policy, and rollout gates

For most production apps, workflow-by-workflow migration is the safest default. It gives each user journey its own parity test and rollback plan.

Do not automatically carry forward:

  • stale assistants with no owner;
  • broad instructions that were compensating for weak product design;
  • Threads that users no longer need;
  • tool schemas that expose broader authority than the workflow requires;
  • file indexes with unknown freshness or ownership;
  • logs that contain more sensitive data than support actually needs;
  • eval sets that only test happy-path text output.

Migration is a chance to reduce hidden complexity. If the old Assistants implementation had accumulated unclear authority, do not preserve that authority just to claim parity.

Because old Threads are not automatically migrated to Conversations, define a backfill policy.

Thread classSuggested action
Active paid workflowBackfill or preserve read-only access until the user journey completes
Recent support-sensitive workflowBackfill summary plus enough source references for support
Old inactive threadArchive, keep lookup metadata, and avoid full migration unless requested
Regulated or sensitive threadReview retention and deletion policy before moving content
Test or demo threadDo not migrate unless it is part of an eval suite

Avoid importing old state simply because it exists. Conversation history should have a product reason.

Tool behavior is where many migrations fail.

For each tool, verify:

  • schema names and required fields still match product expectations;
  • auth scope is user-scoped, service-scoped, or workflow-scoped intentionally;
  • read, draft, write, delete, purchase, send, and permission-changing actions are separated;
  • idempotency exists for retries;
  • failures produce support-readable errors;
  • approval gates still appear before consequential actions;
  • trace records show tool name, input summary, output summary, and downstream side effect;
  • eval cases include both correct tool use and correct refusal.

Do not let a tool become broader during migration just because the new stack makes it easier to connect.

Build a migration eval set before switching traffic.

Eval classExample pass condition
Text paritySame user intent receives equivalent or better answer quality
Tool selectionNew path chooses the same tool class or a safer alternative
Tool refusalNew path refuses tools when input is ambiguous or unauthorized
File retrievalSources are relevant, permission-safe, and inspectable
State continuityConversation resumes without missing critical prior context
Cost and latencyNew path stays inside workflow budget for accepted outcomes
Support lookupSupport can reconstruct request, state, tool calls, and output
Incident replayA known bad historical case is blocked, escalated, or logged correctly

The migration should not pass because a single demo looks fine. It should pass because repeated workflow evidence is good enough for production.

  1. Freeze new Assistants API feature work except critical fixes.
  2. Create the inventory and mark each assistant as migrate, retire, or archive.
  3. Build the Responses and Conversations path for one contained workflow.
  4. Add logging that can compare old runs and new responses by workflow.
  5. Run evals against representative historical cases.
  6. Dual-run or shadow-run a small cohort where privacy and cost allow.
  7. Move new conversations to the new path first.
  8. Backfill old Threads only according to policy.
  9. Cut over by workflow, not by global switch.
  10. Keep old lookup and incident evidence available until support no longer needs it.

This sequence reduces the chance that migration becomes a surprise product incident.

Do not cut over until the team can answer:

GateRequired answer
OwnershipWho owns each migrated workflow after launch?
StateWhere does conversation state live, and how is it deleted?
ToolsWhich tools can read, draft, write, send, delete, or approve?
FilesWhich files and vector stores remain valid and current?
EvalsWhich cases prove parity and safety?
CostWhat changed in token, tool, file, code, and retry cost?
SupportCan support find old and new run evidence from one user report?
RollbackCan traffic return to the old path before the shutdown date if needed?

The shutdown date creates urgency, but it does not justify skipping migration gates.

Watch for these patterns:

  • the new path answers well but loses old file citations;
  • conversation state persists longer than the old retention policy allowed;
  • tool calls work but no longer produce useful audit evidence;
  • old retries become duplicate writes because idempotency was not ported;
  • support cannot map old Thread IDs to new Conversation IDs;
  • cost rises because state is replayed instead of managed deliberately;
  • the team migrates stale assistants that should have been retired.

These are operating failures, not only API mistakes.

Is Responses API always better than Chat Completions for migration?

Section titled “Is Responses API always better than Chat Completions for migration?”

For a product that used Assistants because it needed tools, state, files, or multi-step behavior, Responses is usually the healthier migration target. Chat Completions can still fit narrow text-only workloads, but it should not be the default replacement for a tool-using Assistants app.

Do all Threads need to become Conversations?

Section titled “Do all Threads need to become Conversations?”

No. Backfill only the history that users, support, compliance, or active workflows still need. Archive or summarize low-value history instead of migrating it wholesale.

Should prompt objects become the long-term assistant replacement?

Section titled “Should prompt objects become the long-term assistant replacement?”

Be careful. OpenAI’s migration guide says creating prompts from assistants can help migration, but also notes reusable prompt objects are being deprecated. Treat prompt objects as part of a transition plan unless the current OpenAI guidance for your product says otherwise.

What should happen to old Assistants API logs?

Section titled “What should happen to old Assistants API logs?”

Keep enough lookup metadata to support incidents, billing disputes, quality reviews, and customer support after cutover. A clean migration still needs old evidence until the old path is no longer relevant.

The Assistants API migration is a product migration, not just an API migration.

The safest path is to inventory the real workflows, migrate new conversations first, backfill old Threads selectively, test tools and files with evals, preserve audit evidence, and cut over by workflow before August 26, 2026. Teams that treat the migration as a global SDK swap are more likely to lose state, widen tool authority, or break support visibility.

SourceSignal used
OpenAI Assistants migration guideAssistants API is deprecated, shuts down on August 26, 2026, and should move to Responses API; new user chats should move to Conversations and Responses, with old Threads backfilled as needed.
OpenAI Responses API referenceResponses is the newer response-generation surface and includes operations such as create, retrieve, delete, list input items, count tokens, cancel, and compact responses.
OpenAI Conversations API referenceConversations and conversation items provide the stateful object model that replaces hand-managed thread-style state for many products.
OpenAI tools guideThe newer tool stack includes built-in tools, function calling, tool search, and remote MCP servers, which should be reviewed during migration.
OpenAI Agents SDK guideOpenAI frames the Responses API as enough for one model call plus tools and app-owned logic, while the Agents SDK fits applications that own orchestration, tool execution, approvals, and state.