I built my first REST API in 2008. I've built hundreds since. REST has been the foundation of modern web development.
But I'm increasingly convinced: REST is dying. Not overnight, but the writing is on the wall.
What REST Gave Us
REST was revolutionary. It gave us:
- Standardized interfaces
- Stateless communication
- Cacheability
- Layered systems
These were the right constraints for the web we had. Client-server, request-response, document-centric.
What AI Needs
But AI applications are different:
Stateful: AI needs context. The request-response model doesn't capture this naturally.
Streaming: AI generates output incrementally. RESTful resources don't naturally support this.
Intent-based: With AI, you describe what you want, not the operations to perform. The action is in the prompt, not the HTTP method.
Latency-sensitive: Waiting for a complete response can take seconds. Users want incremental updates.
These differences mean REST is a poor fit.
What We're Seeing
At Orochi, we've moved away from traditional REST:
- Streaming responses: We stream AI outputs in real-time. REST doesn't naturally support this.
- Conversation-based: Our APIs are designed around conversation flows, not resource operations.
- Persistent contexts: Each user has a context that persists across requests. REST would require manual state management.
The Emerging Patterns
Several alternatives are emerging:
MCP (Model Context Protocol): A protocol designed for AI model interactions. Not just HTTP replacement, but a new interaction model.
GraphQL with subscriptions: Better for flexible queries and streaming, but still request-response at heart.
WebSockets for stateful AI: Persistent connections for conversational AI. This is what we use.
Function calling as API: AI calling tools directly rather than traditional API endpoints.
The Timeline
REST won't disappear. It's too entrenched, too well-understood, too much infrastructure depends on it.
But new AI applications are increasingly non-REST. The new projects don't even try to be RESTful. They're building for AI-native interaction.
What to Do
If you're building AI applications:
-
Don't default to REST. Consider what interaction model fits best.
-
Think streaming first. Users expect real-time responses from AI.
-
Design for context. How do you maintain state across interactions?
-
Explore MCP. It might be the future.
The Bottom Line
REST was right for its era. Client-server, request-response, document-centric computing.
The AI era has different needs. We're still figuring out the right patterns, but REST isn't the answer.
The death of REST is exaggerated. But its dominance is ending.
The best interface is the one that fits your problem. Sometimes that's REST. Increasingly, it isn't.