---
title: List readable Agent chats
description: A bounded page of caller-owned and organization-shared chats,
  newest updated first. Private chats of other people remain hidden, including
  from owners. Requires agents.read and a user token.
type: api-reference
source: ./openapi/inth-api.json
method: get
path: /v1/agent-chats
operationId: listAgentChats
server: https://api.inth.com
apiVersion: 1.0.0
tags:
  - Inth Agent
canonicalUrl: https://inth.com/docs/rest-api/inth-agent/list-agent-chats
lastModified: "2026-10-30T13:05:44.605Z"
---
```http
GET /v1/agent-chats
```

Server: `https://api.inth.com`

Operation ID: `listAgentChats`

## Authentication

* bearerAuth

### Schemes

* bearerAuth: http / bearer - Use an Inth API key or OAuth access token in the Authorization header.

  Product operations need a capability. Feedback intake only requires authentication. An OAuth access token carries the capabilities it was granted as scopes; an organization API key carries a fixed set (\`organizations.read\`, \`projects.read\`, \`projects.write\`, \`api-keys.read\`, \`inbox.read\`, \`billing.read\`), so writes that name the person who made them, such as \`inbox.write\` and \`vendors.write\`, need a user token. A credential without the capability an operation needs is answered with \`403 INSUFFICIENT\_SCOPE\`. \`GET /v1/me\` reports the capabilities of the calling credential.

  OAuth scopes:
  - \`organizations.read\`: List the organizations you belong to.
  - \`organizations.write\`: Create organizations you will own.
  - \`projects.read\`: Read projects, their consent configuration, and the vendors seen on them.
  - \`projects.write\`: Create, update, and delete projects and their consent configuration.
  - \`members.read\`: Read member names, email addresses, profile images, roles, and pending invitation email addresses.
  - \`members.write\`: Invite members, change member roles, remove members, and cancel invitations.
  - \`api-keys.read\`: List organization API keys.
  - \`api-keys.write\`: Create, roll, and delete organization API keys.
  - \`code-audit.read\`: Read Code Audit scans, their findings, and connected repositories.
  - \`code-audit.write\`: Start Code Audit scans and unlock their reports.
  - \`inbox.read\`: Read Inbox findings.
  - \`inbox.write\`: Change Inbox status or assignment and open GitHub issues for findings.
  - \`vendors.write\`: Approve or ignore vendors detected on your projects, which resolves their Inbox findings.
  - \`billing.read\`: Read the plan and credit balance of an organization.
  - \`billing.details.read\`: Read invoices, billing profiles, and payment method summaries for organizations you own.
  - \`consent.read\`: Read consent records, analytics, configuration, and runtime status.
  - \`consent.write\`: Update consent settings, translations, IAB configuration, and policies.
  - \`consent.keys.read\`: Read consent runtime key metadata. Secret values are never returned.
  - \`website-audit.read\`: Read website audit targets, scans, reports, cookies, and evidence.
  - \`website-audit.write\`: Manage website audit targets, verify domains, review findings, and start scans.
  - \`account.read\`: Read your account profile.
  - \`notifications.read\`: Read your notification preferences and organization routing.
  - \`organization-retention.read\`: Read organization provider data retention policy.
  - \`support.read\`: Read support conversations you own or can access through sharing.
  - \`support.write\`: Create support conversations, send messages, share or close them, and upload support attachments.
  - \`consent.lifecycle.write\`: Update, upgrade or delete Consent runtimes.
  - \`consent.keys.write\`: Create, rotate and revoke Consent runtime keys.
  - \`billing.write\`: Preview and change plans, buy credits, manage billing details and subscriptions, and open hosted payment flows.
  - \`account.security.read\`: Read your active browser sessions and connected device grants.
  - \`account.security.write\`: Revoke your browser sessions and connected device grants.
  - \`integrations.read\`: Read connected integration accounts, repositories, provider properties and project links.
  - \`integrations.write\`: Connect and sync providers, manage repository settings, project links and paid pull request monitoring.
  - \`account.write\`: Update your name, avatar and PII masking preference.
  - \`account.delete\`: Permanently delete your account after ownership checks and confirmation.
  - \`notifications.write\`: Update your notification preferences.
  - \`notifications.routing.write\`: Manage organization notification routing.
  - \`organization-retention.write\`: Change organization provider data retention policy.
  - \`organizations.settings.write\`: Update organization name, logo and slug.
  - \`organizations.delete\`: Permanently delete organizations you own after confirmation.
  - \`agents.read\`: Read your Inth Agent chats and chats shared with your organization.
  - \`agents.write\`: Start Inth Agent chats, send messages, share your chats with the organization, and delete your chats. Agent replies use organization credits.

## Request

### Query Parameters

|Name|Type|Required|Description|
|:--|:--|:--|:--|
|`limit`|integer|required|Page size, between 1 and 100.|
|`cursor`|string|optional|Opaque cursor from the previous page’s pagination.nextCursor.|
|`organizationId`|string|optional|Organization to act in. Defaults to the active organization of the credential; organization API keys always act in their own.|

## Code Examples

### cURL

```bash
curl -X GET "https://api.inth.com/v1/agent-chats?limit=50" \
  -H "Authorization: Bearer <token>"
```

### JavaScript

```ts
const response = await fetch("https://api.inth.com/v1/agent-chats?limit=50", {
  method: "GET",
  headers: {
    "Authorization": "Bearer <token>"
  },
});
const data = await response.json();
```

## Responses

### 200

Chat summaries.

Content type: application/json

|Property|Type|Required|Description|
|:--|:--|:--|:--|
|`success`|boolean|required||
|`data`|object\[]|required||
|`data[].id`|string|required||
|`data[].organizationId`|string|required||
|`data[].title`|string|required||
|`data[].visibility`|"personal" \|"organization"|required||
|`data[].viewerIsOwner`|boolean|required||
|`data[].updatedAt`|string (date-time)|required||
|`data[].lastMessageAt`|string \|null|required||
|`pagination`|object|required||
|`pagination.nextCursor`|string \|null|required||
|`pagination.hasMore`|boolean|required||

Example:

```json
{
  "success": true,
  "data": [
    {
      "id": "string",
      "organizationId": "string",
      "title": "string",
      "visibility": "personal",
      "viewerIsOwner": true,
      "updatedAt": "2024-01-15T09:30:00Z",
      "lastMessageAt": "string"
    }
  ],
  "pagination": {
    "nextCursor": "string",
    "hasMore": true
  }
}
```

JSON Schema:

```json
{
  "type": "object",
  "required": [
    "success",
    "data",
    "pagination"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": true
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "organizationId",
          "title",
          "visibility",
          "viewerIsOwner",
          "updatedAt",
          "lastMessageAt"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "visibility": {
            "type": "string",
            "enum": [
              "personal",
              "organization"
            ]
          },
          "viewerIsOwner": {
            "type": "boolean"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastMessageAt": {
            "oneOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      }
    },
    "pagination": {
      "type": "object",
      "required": [
        "nextCursor",
        "hasMore"
      ],
      "properties": {
        "nextCursor": {
          "oneOf": [
            {
              "type": "string",
              "description": "Cursor for the next page; null on the last page."
            },
            {
              "type": "null"
            }
          ]
        },
        "hasMore": {
          "type": "boolean"
        }
      }
    }
  }
}
```

## Related

* [REST API overview](/docs/rest-api): Every operation in this API.
