Get a conversation
const url = 'https://api.asklucy.eu/v1/conversations/example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.asklucy.eu/v1/conversations/example \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”OK
object
Set by the user, or by Lucy after the first answer.
Last message or change.
object
Zitadel user ID.
service is a customer system’s Zitadel service user; agent is a service agent (its ID is the agt_ ID), the author of its runs’ messages.
The answer Lucy is writing right now, if any.
When the retention policy deletes it.
The computer Lucy’s local tools reach in this conversation (one of the person’s devices), if any.
The model chosen for this conversation’s answers (a Model.id);
null is Auto. It stays when the person can no longer choose,
but then answers use Auto.
How long Lucy’s sandbox keeps what it saved: a paused workspace (the files of a conversation after a few idle minutes) and published pages. Days; a field that is null or absent is inherited. The organization’s value is the default and the ceiling: a person or a conversation can only choose a shorter time. The effective value is the shortest that applies, within the platform’s maximum.
object
0 keeps no paused workspace (an idle sandbox is deleted with its files).
The agent run a conversation belongs to.
object
Whom the agent acts as.
owner: its creator, with exactly their access (their memory, their Microsoft 365, their quotas). Its runs are their conversations: they can read and continue them as themselves.service: itself (its ID is its principal). It reaches only what it was given: its knowledge files and the tools below, never anyone’s Microsoft 365. Only org_admins create and see service agents; their runs are read-only.
True for service runs, which nobody can continue.
Only in search results (GET /conversations?q=…), where the search found it.
object
How the search found the conversation: words (in the title or the
messages), meaning (a passage close to q), or both.
The message that matches best, to open the conversation at. Null when only the title matched.
A few lines of that message, as plain text (no Markdown), with …
where it was cut: around the words found, or, found only by
meaning, the start of the passage that matched (no highlights then).
Null when only the title matched.
The words found in snippet, in order, as [start, end) offsets in
UTF-16 code units (JavaScript string indices). Empty when there is no
snippet.
object
Example
{ "id": "conv_2YgP0x", "created_by": { "kind": "person" }, "model": "mistral-large-4-0", "agent_run": { "identity": "owner" }, "match": { "found_by": [ "words" ], "message_id": "msg_9Qa1Zt", "role": "user", "snippet": "… the invoices for March are due on the 15th, and the …" }}Missing, expired or invalid token.
RFC 9457 problem details.
object
For quota-exceeded, the window that is used up.
object
Null for a rolling window that hasn’t started.
organization when the organization’s budget is closer to running out than the member’s own limit.
Field-level problems (400 only).
object
JSON pointer into the request body.
Example
{ "type": "https://docs.asklucy.eu/errors/answer-in-progress", "quota": { "window": "five_hours", "limited_by": "personal", "request": { "status": "pending" } }}Headers
Section titled “Headers”Unique per request; quote it to support.
No such object in your organization.
RFC 9457 problem details.
object
For quota-exceeded, the window that is used up.
object
Null for a rolling window that hasn’t started.
organization when the organization’s budget is closer to running out than the member’s own limit.
Field-level problems (400 only).
object
JSON pointer into the request body.
Example
{ "type": "https://docs.asklucy.eu/errors/answer-in-progress", "quota": { "window": "five_hours", "limited_by": "personal", "request": { "status": "pending" } }}Headers
Section titled “Headers”Unique per request; quote it to support.