# 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.

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

| Field            | Type               | Required | Description                             |
| ---------------- | ------------------ | -------- | --------------------------------------- |
| `orgId`          | `org_…` ID         | No       | Only this organization's conversations. |
| `limit`          | integer (1 to 100) | No       |                                         |
| `starting_after` | `aconv_…` ID       | No       | The `next_cursor` of the previous page. |

## Response

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

| Field                  | Type                         | Description                                                                             |
| ---------------------- | ---------------------------- | --------------------------------------------------------------------------------------- |
| `object`               | `"list"`                     |                                                                                         |
| `data`                 | array of object              |                                                                                         |
| `data[].id`            | `aconv_…` ID                 |                                                                                         |
| `data[].object`        | `"assistant_conversation"`   |                                                                                         |
| `data[].orgId`         | `org_…` ID                   |                                                                                         |
| `data[].surface`       | one of `console`, `platform` |                                                                                         |
| `data[].title`         | string                       |                                                                                         |
| `data[].messageCount`  | integer (at least 0)         |                                                                                         |
| `data[].lastMessageAt` | date-time                    |                                                                                         |
| `data[].expiresAt`     | date-time                    | When the conversation is deleted, unless a new message moves it (the retention period). |
| `data[].createdAt`     | date-time                    |                                                                                         |
| `has_more`             | boolean                      |                                                                                         |
| `next_cursor`          | `aconv_…` 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

| Code                                                                                   | HTTP status | When                                                             | What to do                                                                      |
| -------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| [`validation_failed`](https://ownrecord.io/docs/reference/errors.md#validation_failed) | 400         | `orgId`, `limit` or `starting_after` is malformed.               | Fix the fields listed in `details.issues` and send the request again.           |
| [`permission_denied`](https://ownrecord.io/docs/reference/errors.md#permission_denied) | 403         | The 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](https://ownrecord.io/docs/reference.md#common-errors): [`api_version_unsupported`](https://ownrecord.io/docs/reference/errors.md#api_version_unsupported), [`authentication_required`](https://ownrecord.io/docs/reference/errors.md#authentication_required), [`api_key_invalid`](https://ownrecord.io/docs/reference/errors.md#api_key_invalid), [`resource_not_found`](https://ownrecord.io/docs/reference/errors.md#resource_not_found), [`dry_run_not_supported`](https://ownrecord.io/docs/reference/errors.md#dry_run_not_supported), [`rate_limited`](https://ownrecord.io/docs/reference/errors.md#rate_limited), [`internal_error`](https://ownrecord.io/docs/reference/errors.md#internal_error).
