Skip to main content
POST
/
v1
/
realtime-assistants
/
{realtimeAssistantId}
/
createPublicSession
curl -X POST https://api.upliftai.org/v1/realtime-assistants/550e8400-e29b-41d4-a716-446655440000/createPublicSession \
  -H "Content-Type: application/json" \
  -d '{
    "participantName": "Guest User"
  }'
{
  "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDU0MTAwMDAsImlzcyI6IkFQSWFiY2RlZiIsImp0aSI6Imd1ZXN0XzEyMyIsIm5hbWUiOiJHdWVzdCBVc2VyIiwicm9vbSI6InB1YmxpYy1hYmMxMjMiLCJzdWIiOiJndWVzdF8xMjMiLCJ2aWRlbyI6eyJyb29tIjoiam9pbiIsInJvb21BZG1pbiI6ZmFsc2UsInJvb21DcmVhdGUiOmZhbHNlLCJyb29tSm9pbiI6dHJ1ZSwicm9vbUxpc3QiOmZhbHNlfX0.signature",
  "wsUrl": "wss://upliftai-livekit-url...",
  "roomName": "public-abc123-1705406400"
}
Beta Feature: This endpoint is currently in beta. Features and specifications may change.
This endpoint does not require authentication and can be called directly from client applications. The assistant must have public: true to use this endpoint.
realtimeAssistantId
string
required
The unique identifier of the public assistant
participantName
string
required
Display name for the user participant
roomName
string
Optional custom room name. If not provided, a unique room name will be generated
curl -X POST https://api.upliftai.org/v1/realtime-assistants/550e8400-e29b-41d4-a716-446655440000/createPublicSession \
  -H "Content-Type: application/json" \
  -d '{
    "participantName": "Guest User"
  }'
{
  "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDU0MTAwMDAsImlzcyI6IkFQSWFiY2RlZiIsImp0aSI6Imd1ZXN0XzEyMyIsIm5hbWUiOiJHdWVzdCBVc2VyIiwicm9vbSI6InB1YmxpYy1hYmMxMjMiLCJzdWIiOiJndWVzdF8xMjMiLCJ2aWRlbyI6eyJyb29tIjoiam9pbiIsInJvb21BZG1pbiI6ZmFsc2UsInJvb21DcmVhdGUiOmZhbHNlLCJyb29tSm9pbiI6dHJ1ZSwicm9vbUxpc3QiOmZhbHNlfX0.signature",
  "wsUrl": "wss://upliftai-livekit-url...",
  "roomName": "public-abc123-1705406400"
}

Use Cases

Public sessions are ideal for:
  • Product Demos - Let users try your assistant without signup
  • Landing Pages - Showcase capabilities to visitors
  • Kiosks - Public-facing voice interfaces
  • Testing - Easy testing during development

Security Considerations

Public assistants are accessible to anyone with the assistant ID. Ensure you:
  • Don’t include sensitive information in instructions
  • Implement rate limiting if needed
  • Monitor usage for abuse
  • Use secure tool implementations

Limitations

Public sessions have the following limitations:
  • Cannot access private user data
  • Limited to publicly safe operations
  • May have usage quotas applied
  • Session data is not persisted

Making an Assistant Public

To enable public access for an assistant:
// Update existing assistant
await fetch(`https://api.upliftai.org/v1/realtime-assistants/${assistantId}`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    public: true
  })
});
I