Documentation Index
Fetch the complete documentation index at: https://docs.zeptar.com/llms.txt
Use this file to discover all available pages before exploring further.
Public endpoints
A small set of endpoints is intentionally unauthenticated and safe to call from anywhere:GET /v1/voices— list the available TTS voices.
Session cookies
The Zeptar API authenticates requests with a session cookie set by better-auth. The cookie is namedbetter-auth.session_token and is established when the user signs in through the web app.
A browser visiting app.zeptar.com and the API at api.zeptar.com share the cookie automatically — they live on the same parent domain.
From the browser
No setup required.fetch('/v1/...') from a logged-in page already carries the cookie:
From a server (SSR, scripts)
Forward the inboundCookie header to the API. The apiFetch helper in apps/web/lib/zeptar-api-client.ts does this automatically when called from a Server Component or Server Action.
From a curl session (development)
Copy the session cookie out of your browser’s devtools and pass it explicitly:Unauthenticated responses
A request without a valid session cookie returns:/sign-in. The apps/web server helpers (getOrganizations, getPendingWorkspaceInvites, etc.) do this automatically.
Permission errors
Endpoints that require a specific role (e.g. removing a member from an organization requires admin) return:error field is a stable machine-readable code. The message field, when present, is intended for end users.