Skip to content

Tenant Live Chat API

Module: live-chat 1.3.0 · Base: /api/tenant/v1/live-chat (authenticated) and /api/public/live-chat/{publicKey} (widget).

Public widget

MethodPathNotes
GET/api/public/live-chat/{publicKey}/bootstrapGreeting, branding, offline, within_hours, accepting_live, optional realtime
POST/api/public/live-chat/{publicKey}/sessionsReturns session_token once (max body 64KB; throttle live-chat-widget-session); banned visitors 403
POST/api/public/live-chat/{publicKey}/conversationsBearer session; open/create — may be offline thread
GET/api/public/live-chat/{publicKey}/conversations/{uuid}/messagesPoll with since_id
POST/api/public/live-chat/{publicKey}/conversations/{uuid}/messagesVisitor text; offline leave-a-message when outside hours

Inactive widget → 404. Missing entitlement → 403. Bad/expired/revoked token → 401. CORS: Origin reflected for credential-less embeds.

Tenant agent

MethodPathPermission
GET/live-chat/widgetview or manage
PATCH/live-chat/widgetmanage
POST/live-chat/widget/regenerate-keymanage
GET/POST/PATCH/DELETE/live-chat/canned-repliesview list; manage write
GET/POST/PATCH/DELETE/live-chat/departmentsview list; manage write
POST/live-chat/visitors/{id}/ban · /unbanmanage
GET/live-chat/conversationsview (filters: status, unread, my, assigned_to, department_id, is_offline, search)
GET/live-chat/conversations/{id}view
GET/live-chat/conversations/{id}/messagesview
POST/live-chat/conversations/{id}/readview
POST/live-chat/conversations/{id}/messagesreply (optional attachment)
POST/live-chat/conversations/{id}/escalatereply (+ Help Desk entitled)
PATCH/live-chat/conversations/{id}Policy: assigned_to, status, lead_id, department_id

{id} accepts numeric id or conversation uuid.

Realtime channels

  • private-tenant.{tenantId}.live-chat.inbox
  • private-tenant.{tenantId}.live-chat.conversation.{uuid}
  • Public live-chat.visitor.{uuid} for embed

Events: LiveChatMessageSent, LiveChatConversationUpdated.

Official documentation for the EloSync SaaS Platform.