What ships today
The open-core ships three ways to drive Vexa:- The HTTP API — the canonical interface. Every capability is reachable over plain REST + WebSocket; see the API reference.
-
vexa-slim— a minimal Python client (clients/slim). Gateway-only (it speaksapi.v1and holds no domain internals), with two peer sub-clients (slim.agent.*,slim.meetings.*) and a high-level cookbook (listen_to_meeting,agent_on_meeting,harvest). Doubles as the living proof that themeetings ⊥ agentboundary holds. -
The terminal — the bundled browser-based workbench (Next.js), a thin
client over the same API. It comes up with
make allathttp://localhost:13000.
vexa-slim, call the API
directly, or generate a client from the OpenAPI surface.
Prefer raw HTTP?
Every guide in these docs uses plaincurl, so you can port any example to your language directly. The
only invariant is the auth header:
Building your own client
The API is stable and self-describing:- Meetings —
POST /bots,GET /transcripts/{platform}/{id}(poll or WebSocket),GET /recordings. - Agent —
POST /agent/chat(SSE),POST /agent/routines,GET /agent/sessions,GET /agent/models, and the/agent/workspace/*reads. (/api/*is a deprecated alias for the same routes.) - Errors — conventional status codes with a JSON
detail; see the error reference.