List the workspace's conversation logs
What people outside the workspace asked, from every channel: visitors of your widgets, and the users of your own product who reach an assistant through an API key (REST, CLI, SDK) or the MCP server. Latest activity first, with who asked (end_user), through what (widget or api_key), how many messages, what it cost and the thumbs. Filter by channel, widget_id, api_key_id, assistant_id, rating (down finds where the assistant failed), end_user, q (words in any message) and from/to, and paginate with cursor. Read one in full with GET /v1/logs/conversations/{conversation_id} and the figures above the list with GET /v1/logs/conversations/stats. Members' own chats with assistants are personal and never appear here. A conversation is kept 90 days after its last message. Needs the right to edit assistants; an API key sees the conversations of its own assistants. Costs nothing.
GET/v1/logs/conversations
Requires assistants:write.
The logs hold the conversations of the visitors of your widgets and of the users of your product who ask through an API key or the MCP server. A member’s own chats are personal and never appear. Results come latest activity first, and you page with cursor: see Pagination.
Each entry names the channel (widget, api or mcp), the widget or the api_key it came through, the end_user, how many messages it holds, what it cost and its thumbs. Narrow the list with channel (comma-separated), widget_id, api_key_id, assistant_id, rating, end_user, q (words in any message) and from and to. rating=down lists the conversations where someone gave a thumbs down.
A person needs the right to edit assistants, or the call fails with permission_denied. An API key reads the conversations of its own assistants. See Logs.
Open one with Retrieve a logged conversation.
Authorizations
Authorizationbearerin headerrequiredQuery parameters
channelstringlength: ≥ 1 charsOnly the conversations from these channels, comma-separated: widget (visitors of a widget), api (an API key through REST, the CLI or the SDK), mcp (an API key through the MCP server). Default: all three.
widget_idstringpattern: ^wdg_[abcdefghjkmnpqrstuvwxyz23456789]{12}$Only this widget's visitors.
api_key_idstringlength: 1–64 charsOnly the conversations asked with this API key (the api_key.id of a conversation in these logs).
assistant_idstringpattern: ^ast_[abcdefghjkmnpqrstuvwxyz23456789]{12}$Only the conversations with this assistant.
ratingenum<string>one of: up, down, rated, unrateddown: at least one thumbs down (where the assistant failed). up: at least one thumbs up. rated: any thumb. unrated: none.
end_userstringlength: 1–200 charsOnly this person: a widget visitor's random id, or the end_user your product sends with its questions.
qstringlength: 1–200 charsWords in the title or in any question or answer, without regard to case.
fromstringOnly conversations with activity since this ISO 8601 date or timestamp.
tostringOnly conversations started before this ISO 8601 date or timestamp.
cursorstringlength: 1–40 charsPass next_cursor from the previous page, unchanged.
limitintegerrange: 1–100Number of items to return. Values outside 1-100 are clamped, and the response reports the limit actually applied.
Response
List the workspace's conversation logs
dataobject[]requiredhas_morebooleanrequiredTrue when another page follows: pass next_cursor back as cursor.
next_cursorstringnullrequiredPass it back unchanged as cursor. Null on the last page.
limitintegerrequiredThe page size actually applied.
request_idstringrequiredPossible codes: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredPossible codes: authentication_required, invalid_api_key, api_key_expired, api_key_revoked, invalid_access_key
errorobjectrequiredrequest_idstringrequiredPossible codes: insufficient_scope, feature_not_available, admin_required, permission_denied
errorobjectrequiredrequest_idstringrequiredPossible codes: rate_limited
errorobjectrequiredrequest_idstringrequiredPossible codes: internal_error
errorobjectrequiredrequest_idstringrequired