Skip to content

List your assistant conversations

The assistant.conversations.list operation: GET /api/v1/assistant/conversations in the REST API and the assistant_conversations_list tool in the MCP server.

GET/api/v1/assistant/conversations

Lists your own conversations with the in-platform assistant, newest first: in every organization you belong to now (and in the platform console, for platform staff). Nobody else's conversations are ever listed, not even to organization owners: what the assistant changed is in the audit log instead (via: assistant).

Filter with orgId. limit is 1–100 (default 10); pass next_cursor as starting_after. Conversations are deleted after the organization's retention period (expiresAt).

Who can call it: any signed-in person, for themselves. API keys and OAuth tokens can't.

At a glance

  • REST: GET /api/v1/assistant/conversations
  • MCP tool: assistant_conversations_list
  • Operation ID: assistant.conversations.list
  • Scope: Platform
  • Permission: account:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Pagination: limit (at most 100) and starting_after
  • Authentication: API key with the account:read scope
  • Since: M11

Request

Query parameters

FieldTypeRequiredDescription
orgIdorg_… IDNoOnly this organization's conversations.
limitinteger (1 to 100)No
starting_afteraconv_… IDNoThe next_cursor of the previous page.

Response

200 OK with a JSON object, a page of the list (newest first):

FieldTypeDescription
object"list"
dataarray of object
data[].idaconv_… ID
data[].object"assistant_conversation"
data[].orgIdorg_… ID
data[].surfaceone of console, platform
data[].titlestring
data[].messageCountinteger (at least 0)
data[].lastMessageAtdate-time
data[].expiresAtdate-timeWhen the conversation is deleted, unless a new message moves it (the retention period).
data[].createdAtdate-time
has_moreboolean
next_cursoraconv_… ID or null

Examples

Your conversations

HTTP
GET /api/v1/assistant/conversations
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "aconv_01jbz3k6q2e8w1m0v9r7t5y4x3",
      "object": "assistant_conversation",
      "orgId": "org_01jacq4m3xf0v8w9zq2y7k5n6h",
      "surface": "console",
      "title": "Create a 20% coupon for 3 months",
      "messageCount": 2,
      "lastMessageAt": "2026-10-26T09:16:10.000Z",
      "expiresAt": "2027-01-24T09:16:10.000Z",
      "createdAt": "2026-10-26T09:15:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400orgId, limit or starting_after is malformed.Fix the fields listed in details.issues and send the request again.
permission_denied403The caller isn't a signed-in person (an API key or OAuth token).Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, resource_not_found, dry_run_not_supported, rate_limited, internal_error.