https://widget.lovi.ai/iawidget.js with mode="voice" loads an iframe that does.
customer on the <script> is the company access key. The loader sends it as access_key. Do not put it in repos or screenshots.
Appearance config (first GET)
Response is
Voice-config (colours, position, animation). It is not the live audio session.
CORS on this function allows * for GET/POST/OPTIONS.
Audio session (iframe)
start / stop on window.
Other iframe-only routes
Not a public embed API. Used by Lovi’s iframe:POST /functions/v1/voice-widget/search- Feedback endpoints used after hang-up
POST /functions/v1/voice-widget/handoffandPOST /functions/v1/voice-widget/handoff/endGET /functions/v1/voice-widget/chat-by-conversation
wss://livekit.rtc.elevenlabs.io, https://cloud-api.livekit.io).
Not this
GET /functions/v1/widget— text chat config. See Web widget.GET /functions/v1/widgetWebView— chat iframe helper. See Widget WebView.POST /functions/v1/notify/voice— outbound phone campaign. See Voice notifications.
