List webchat messages

View as Markdown
Returns the first 50 messages of a conversation in chronological order, in a compact camelCase shape for chat UIs. It works for any conversation id of the workspace, not only webchat ones. For the full snake_case rows with attachments and the conversation fields, use `GET /api/conversations/{conversationId}`. An id that does not exist in the workspace returns an **empty list**, not 404. Content is returned as stored: delimiter tags are not stripped here. **Consistency.** Cached for up to 30 seconds per conversation. Messages added in that window, including operator replies, can be missing until the entry expires. **Access** - **Required scope:** `read` (or `write`). - **Rate limit:** General API — 120 requests/min per workspace (Starter), 200 (Growth), 300 (Business), 600 (Enterprise). The router applies it a second time on this route. The two counters are separate, so the effective ceiling is still the plan number. See [Rate limits](/rate-limits). - **Plan:** Available on every plan.

Authentication

AuthorizationBearer
Workspace API key: `jl_` followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (**Settings → API Keys**) and sent as `Authorization: Bearer jl_...`. The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys. | Scope | GET / HEAD | POST / PUT / PATCH / DELETE | Admin-only routes | | --- | --- | --- | --- | | `read` | Yes | No | No | | `write` | Yes | Yes | No | | `full` | Yes | Yes | Yes | Operations restricted to admins or owners reject keys without the `full` scope with `403`, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See [Authentication](/authentication).

Path parameters

conversationIdstringRequiredformat: "uuid"

Id of the conversation, as returned by POST /api/webchat/message. A value that is not a UUID returns 400.

Response

Up to 50 messages, oldest first.
datalist of objects

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
429
Too Many Requests Error