Retrieve a session transcript
Returns the last 50 messages of the session’s conversation, visitor and agent alike, oldest first.
Call it after POST /widget/init returns resumed: true so the panel shows the earlier conversation
instead of greeting again. Older messages are not reachable from the widget API. For live updates use
GET /widget/poll.
Credentials, origin check and limits are the same as POST /widget/init. The session must belong to
the widget named by the credential.
Idempotency. Read-only; safe to retry.
Access
- Required scope: None;
jl_API keys are not used. The widget credential plus a matchingx-widget-parent-originauthorise the call. - Rate limit: Widget public — 60 requests/min per IP, plus the widget’s
rate_limit_rpmper credential and 300 requests/min per workspace. See Rate limits. - Plan: Available on every plan.
Headers
Secret widget API key (plaintext_api_key from POST /api/widgets). Takes precedence over
x-widget-id and wid. Send one of the three. Never expose it in a browser.
Public widget id, the credential the embed script uses. Used when x-widget-api-key is absent.
Origin of the page embedding the widget. Must match one of the widget’s allowed_origins; see POST /widget/init.
Query parameters
Session id from POST /widget/init. Not a UUID returns 400 Invalid query.

