OpenAI Deployment Layer: The Assistants API Precedent
OpenAI shipped the Assistants API in November 2023 and marked it for sunset 16 months later. That precedent is how to price the new deployment stack.
OpenAI announced the Assistants API at DevDay on 6 November 2023. Sixteen months later, in March 2025, it shipped the Responses API and said the Assistants API would be deprecated, with a target sunset in the first half of 2026. Sixteen months from launch to a deprecation notice, on the developer-facing product whose entire pitch was that you would no longer have to hand-roll orchestration.
That number is the one to hold onto while you read anything about OpenAI’s new deployment initiative.
Here is our boundary, stated up front. We did not test the new offering. We could not verify its pricing, its regional availability, its SLA, whether it exposes a genuinely new API surface or repackages existing endpoints, or whether it is a hosted service or a library you run. We are also not going to paraphrase the launch post — it takes four minutes to read, you are capable of reading it, and a summary of it is worth nothing to you. What follows is the part the announcement will not contain: how to price the switching cost before any of those numbers exist.
The number the launch post cannot give you
A launch post is written before the first customer has been through a deprecation cycle. It can tell you the ceiling — what the thing does when it works. It cannot tell you the floor, which is what happens to your codebase when the vendor’s roadmap moves.
For a managed deployment layer, the floor is decided by three things, and only one of them shows up in a pricing page:
- How much of your state the vendor holds. Not tokens. Rows.
- How stable the interface is — measured in deprecation notices per year, not in changelog entries.
- Whether an equivalent exists elsewhere that speaks the same wire protocol.
You can measure all three on OpenAI’s existing surface area today, without knowing a single detail about the new product. That is a better basis for a decision than the announcement is.
The Assistants API is the precedent, not the exception
The Assistants API held state server-side. Your conversations lived in OpenAI thread objects. Your messages lived in message objects attached to those threads. Your execution history lived in run objects. Your retrieval corpus lived in vector stores on their side. Your application kept an ID and asked for the rest.
That design is exactly why migrating off it cost real engineering time. Porting prompts was the easy half — prompts are text and you already have them in your repo. The other half was exporting months of thread state into a schema you now had to design yourself, backfill, and verify, while production kept writing to the old system.
Contrast /v1/chat/completions, which is stateless. You resend the full message array on every call. That is more tokens on the wire and more work for you, and it is also the reason the endpoint has outlived two orchestration products layered on top of it. There is nothing to migrate. Your history is already in your database, because it was never anywhere else.
The rule that falls out: the more state a managed layer holds on your behalf, the higher your exit cost, and it does not scale linearly. Six months of stored runs is not twice the migration of three months — it is the same migration plus more data to reconcile under more load.
The portability test, in three questions
Before you put a managed deployment layer on your critical path, answer these. They take an afternoon.
1. Can your production path get the same result from /v1/chat/completions? That endpoint is implemented by vLLM, Ollama, LM Studio, Groq, Together, and OpenRouter, among others. If your inference call only speaks it, changing providers is a base URL and an API key. If it speaks a proprietary orchestration surface, changing providers is a project with a Jira epic.
2. Where does your state live? Open your database. If your run history, tool-call transcripts, and retrieval index are not in tables you own, your exit cost is a data export project you have not scoped and cannot estimate.
3. What are you actually buying? Some things a vendor sells are measurable: the Batch API’s 50% discount against a 24-hour completion window is a number you can put in a spreadsheet. Prompt caching, which kicks in on input prefixes at roughly the 1,024-token mark, discounts the repeated part of your prompt and shortens time-to-first-token — also measurable. “Ship AI applications faster” is not a number. If the value proposition doesn’t reduce to a figure you can check after a week in production, treat it as unpriced.
One asymmetry worth noting: OpenAI’s Agents SDK is open source and runs inside your process. A library you can vendor and fork is a different risk class from a service you rent, even when both carry the same logo. We do not know which category the new deployment offering falls into, and that is the single question we would want answered first.
opencode
Open-source terminal coding agent that is provider-agnostic by design — point it at OpenAI, Anthropic, or a local model behind an OpenAI-compatible endpoint. Useful as a working example of keeping the model boundary swappable rather than baked in.
Free and open source; you bring your own API key and pay the model provider directly.
Affiliate link · We earn a commission at no cost to you.
What we would do, and the condition that flips it
Default: keep the boundary at chat completions. Put every model call behind one module with a Provider interface, and write the second implementation on day one — a local vLLM instance or a competing hosted model. The second implementation is the only thing that proves the boundary is real rather than aspirational, and it costs you about a day. Everything above that module stays yours: history in your Postgres, retrieval in your vector store, retries and rate-limit handling in your code.
The condition that flips it: the managed layer is the only path to a capability you genuinely cannot rebuild. A model that isn’t exposed through the raw API. A latency tier you have measured yourself and cannot hit. A compliance certification you would otherwise be buying separately at higher cost. Those are real reasons, and in those cases lock-in is simply the price of the capability — pay it. But keep the dependency inside the same one module, and write the export script before you have data worth exporting. The export script written at month one is an hour. Written at month eighteen, under a deprecation deadline, it is a sprint.
What we did not test, and would want before revising any of this: actual throughput and cost of the new offering at production volume, and whether OpenAI’s own Assistants-to-Responses migration tooling turned out to be as painless in practice as it read on paper. If someone has run that migration end to end, their write-up is worth more than the launch post and this article combined.
FAQ
Does this mean you shouldn't use OpenAI's managed products at all?
Isn't keeping everything on /v1/chat/completions more work?
How do you check a vendor's deprecation velocity before committing?
Tools used in this review
Some links above are affiliate links. We may earn a commission if you sign up. See our disclosure for details.
Related reading
2026-08-21
Bing Webmaster API's 100-URL Cap: 289 URLs, Three Days
Quota is 100 a day against 1300 a month, GetQueryStats was still empty at the end, and two error shapes will kill a cron job.
2026-08-19
Astro middleware can't serve 410 under output: 'static'
We deleted 434 articles. Middleware runs at build time and 404s in production; two prerender:false routes fix it on Cloudflare Workers.
2026-08-17
Workers KV's 60-Second Consistency Window
It's a cache TTL you cannot lower, not a replication delay. It bites cached nulls, uniqueness checks, and multi-key updates. When to swap in a Durable Object.
2026-08-13
Cache Races Make IndexNow Miss Pages You Just Shipped
A deploy API returning 200 does not mean the new URLs are reachable at the edge. Here is the verification sequence that stops wasted submissions.
2026-08-12
Object Storage Lifecycle Policies: Cut Cost, Keep Data
Audit an S3-compatible bucket, then write lifecycle rules that avoid transition fees, minimum-duration charges, and versioning traps that raise bills.
Get the best tools, weekly
One email every Friday. No spam, unsubscribe anytime.