List conversations

View as Markdown
Returns one page of the workspace's **active** conversations across every text channel. Closed conversations are not listed. Fetch a closed one directly with `GET /api/conversations/{conversationId}`. Each row carries the conversation columns plus the contact's name, phone and lead status, the agent's name, a 160-character preview of the last message and a lead `qualification` score. **Ordering and filtering.** By default rows are ordered by `updated_at` descending (most recent activity first). With `needsHuman=waiting` only threads where the agent asked for a person and nobody has resolved it yet are returned, ordered by `needs_human_at` **ascending**, so the person who has waited longest comes first. **Pagination.** Page-number pagination with `page` and `limit`. `total` is the number of matching conversations across all pages. `needsHumanWaiting` is the workspace-wide count of threads waiting for a person, whatever page or filter you asked for. Invalid values are never rejected: a non-numeric or zero `page` becomes `1`, a non-numeric or zero `limit` becomes `50`, and a `limit` above 100 is clamped to `100`. **Consistency.** Pages are cached for up to 30 seconds. An operator reply sent through `POST /api/conversations/{conversationId}/messages` clears the cache immediately. `needsHumanWaiting` is never cached. **Access** - **Required scope:** `read` (or `write`). - **Rate limit:** General API — 120 requests/min per workspace (Starter), 200 (Growth), 300 (Business), 600 (Enterprise). 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).

Query parameters

pageintegerOptional>=1Defaults to 1

1-indexed page number. Non-numeric or values below 1 are treated as 1.

limitintegerOptional1-100Defaults to 50

Conversations per page. Values above 100 are clamped to 100; non-numeric or values below 1 fall back to 50.

needsHumanenumOptional

Pass waiting to list only threads where the agent asked for a person and it is not resolved yet, oldest wait first. Any other value is ignored and the normal list is returned.

Allowed values:

Response

One page of conversations.
dataobject

Errors

401
Unauthorized Error
403
Forbidden Error
429
Too Many Requests Error