Skip to main content
Sessions manage conversation state and history for your AI Voice Agents.

What are Sessions?

Sessions are conversation contexts that:
  • Maintain conversation history - All messages in the session
  • Store session state - Current conversation state
  • Manage user metadata - User information and preferences
  • Track activity - Last activity timestamp

Session Lifecycle

Session Creation

Sessions are created automatically:
  • On WebSocket connection - New session per connection
  • On first message - If session doesn’t exist, create one
  • Unique session ID - Each session has a unique identifier

Session State

Each session maintains:
  • Conversation History - All messages in the session
  • Audio Buffer - Current audio stream data
  • User Metadata - User information
  • Activity Tracking - Last activity timestamp

Core Concepts

Quick Example

# Server side - sessions created automatically
from kuralit.server.websocket_server import create_app

app = create_app(
    api_key_validator=lambda key: key == "demo-api-key",
    agent_session=agent,
)
# Each WebSocket connection = new session
// Client side - generate session ID
final sessionId = Kuralit.generateSessionId();
await Kuralit.connect();
Kuralit.sendText(sessionId, 'Hello!');
// All messages with same sessionId share context

Next Steps