What you can do
The Zeptar API exposes the same primitives the Zeptar product surface uses. With it, you can:- Manage agents — create, list, update, duplicate, and delete conversational AI agents.
- Start preview conversations — dispatch a LiveKit room and join an agent for a voice call.
- Manage workspaces — list the organizations a user belongs to, look up a workspace by slug, add and remove members.
- Browse voices — list the voice models available for speech synthesis.
Base URL
http://localhost:3001 (start with pnpm dev from the repo root).
Conventions
- REST + JSON. Every endpoint accepts and returns JSON.
- Versioned paths. All endpoints are prefixed with
/v1. Breaking changes will bump to/v2. - Snake-case in payloads, camelCase in URLs. Path parameters use camelCase (
{agentId},{orgId}); response bodies use snake_case (agent_id,system_prompt) to match the Python agent runtime. - ISO-8601 timestamps. All
createdAt/expiresAtfields are ISO strings, not Unix timestamps. - Idempotent reads.
GETcalls never mutate state. Repeating aGETalways yields the same response (modulo concurrent writes).
Organization scope
Most resources (agents, conversations, members) are scoped to the requester’s active organization, resolved from the session cookie. To act on a specific organization, either set the active workspace via the web UI or passorgId explicitly in the path (e.g. /v1/organizations/{orgId}/members).
OpenAPI
The full OpenAPI 3.0 specification is generated from the live NestJS controllers and updated on every release.Zeptar API OpenAPI spec
Download the machine-readable spec