OpenAI DEPRECATED COMPLEX 110 days left

Assistants API — Deprecated

Deprecated
Shutdown
2026-08-26
Status
deprecated
Replacement
Responses API and Conversations API

Quick fix — copy & paste

Choose your language. The "before" block matches the deprecated call; the "after" block is the drop-in replacement.

Breaks on 2026-08-26
# Assistants API (deprecated)
assistant = client.beta.assistants.create(
    name="Math Tutor",
    instructions="You are a personal math tutor.",
    model="gpt-4o",
)
thread = client.beta.threads.create()
client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="Solve 3x + 11 = 14",
)
run = client.beta.threads.runs.create_and_poll(
    thread_id=thread.id,
    assistant_id=assistant.id,
)
Use this instead
# Responses API
response = client.responses.create(
    model="gpt-5",
    input=[
        {"role": "system", "content": "You are a personal math tutor."},
        {"role": "user", "content": "Solve 3x + 11 = 14"},
    ],
)
print(response.output_text)

Error messages

Seeing one of these? You're in the right place.

  • The Assistants API has been deprecated
  • AssistantDeprecatedError
  • client.beta.threads is no longer supported
  • The Assistants v1 API is being deprecated

Replacement options

Other OpenAI deprecations

What this means for your code

Assistants API is a specialized model with provider-specific behavior. Verify the replacement supports the same modalities, parameters, and rate limits as the deprecated model. Read the provider's migration notes carefully — these models often have non-obvious behavioral changes.

OpenAI has scheduled Assistants API for shutdown on 2026-08-26. That gives you 110 days to migrate. Until then the model still works, but every API call after that date will return a model_not_found error.

Find every call in your codebase

Before you change anything, locate every place the deprecated model id is referenced. Search source files, environment files, feature flags, and config repos. Use these commands from your project root:

Python projects

grep -rn '"Assistants API"' --include="*.py" .

JavaScript / TypeScript projects

grep -rn '"Assistants API"' --include="*.{js,ts,tsx,jsx}" .

Anywhere (configs, scripts, infra)

grep -rn "Assistants API" .

Migration checklist

Steps in order. Skip any that don't apply, but read the whole list — for other models, the non-obvious steps are usually the ones that break in production.

  1. 1. Read the provider's official migration guide for this model
  2. 2. Update the model id and any model-specific parameters
  3. 3. Audit rate limits and request size caps for the replacement
  4. 4. Re-run your full integration test suite against the new model
  5. 5. Plan a rollback path in case the new model behaves differently in production

Will this migration cost more?

Switching from Assistants API to Responses API and Conversations API could change your costs significantly. Calculate the exact difference for your prompts.

Open the cost calculator →