All HTTP and WebSocket endpoints exposed by the UpVoot platform.
The UpVoot platform exposes one primary interface (the voice WebSocket) and a set of dashboard REST APIs protected by Clerk authentication (for your own account management). Third-party integrations only need the WebSocket endpoint.
Voice WebSocket
| Property | Value |
|---|
| URL | wss://api.upvoot.com/voice/<api-key> |
| Protocol | WebSocket (RFC 6455) |
| Auth | API key in URL path |
| Audio in | Binary frames — PCM L16 16kHz mono |
| Audio out | Binary frames — PCM L16 16kHz mono |
| Control in/out | JSON text frames |
HTTP responses on upgrade
| Status | Meaning |
|---|
101 Switching Protocols | Connected successfully |
401 Unauthorized | API key missing or malformed |
403 Forbidden | Key revoked |
402 Payment Required | Insufficient point balance |
404 Not Found | Key not found |
500 Internal Server Error | Platform error |
Server → client JSON messages
| type | Fields | Description |
|---|
audio_start | — | Agent has begun speaking; binary audio frames follow |
audio_end | — | Agent finished speaking; listening for caller |
transcript | role, text | Final transcript. role is "user" or "assistant" |
interim | text | Partial real-time transcript of caller speech |
turn_start | — | LLM processing has begun |
error | code, message | A recoverable platform error occurred |
call_end | reason | Server is closing the call (balance depleted, max turns reached, etc.) |
Client → server JSON messages
| type | Fields | Description |
|---|
end_call | — | Gracefully end the call from the client side |
Dashboard REST API
These endpoints are used by the UpVoot dashboard and are authenticated via Clerk session cookies. They are not intended for direct third-party access, but are documented here for completeness.
Agents
| Method | Path | Description |
|---|
GET | /api/agents | List all agents for the authenticated user |
POST | /api/agents | Create a new agent |
GET | /api/agents/:id | Get a single agent |
PATCH | /api/agents/:id | Update agent settings |
DELETE | /api/agents/:id | Delete an agent |
API Keys
| Method | Path | Description |
|---|
GET | /api/keys | List all API keys |
POST | /api/keys | Generate a new key (returns raw key once) |
DELETE | /api/keys/:id | Revoke a key |
Usage
| Method | Path | Description |
|---|
GET | /api/usage | Call logs with optional filters |