Super simple.
Super flexible.
You do what the hell you want with it.
Careful.
Now, let's nerd out with session infrastructure.
At its simplest, cerver gives every user in your AI app a session — persistent, queryable, theirs. The model writing it and the compute running it are config; switch either one anytime, or run several in parallel on the same intent and curate the winner. One API.
$ curl -X POST https://gateway.cerver.ai/v2/sessions \ -H "Authorization: Bearer $CERVER_API_TOKEN" → { "session_id": "sess_a4f7c9...", "status": "ready" }
Free at hobby scale. Free for the agents you build on it.
auth.py · 240 linesmiddleware.py + routes.pyAll your users' sessions. In one queryable place.
Every conversation a user has with your AI app is one row in this table. One user can own as many rows as your product gives them. The model writing each row and the compute running it are config you change per row. The table is the constant. One API.
— same row shape, model + compute per user
Cerver is the API for that layer.
Cerver gives you one interface for creating, running, switching, measuring, and closing AI sessions. But a good session layer should not only be reliable.
POST /v2/sessions POST /v2/sessions/:id/run-llm POST /v2/sessions/:id/compute GET /v2/sessions/:id/metrics POST /v2/sessions/:id/close
Reliable is the baseline. Powerful is the point.
Cerver sessions are stable, transparent, and hard to accidentally break. They keep memory, tools, compute, billing, recovery, and user state together while your AI stack changes underneath. And they do more than hold state: they can switch models, move compute, track cost, recover runs, and spawn other sessions.