---
title: "Получить доступный чат"
method: GET
path: "/api/v1/chat/conversations/{id}"
tags: ["Chat"]
---

# Получить доступный чат

`GET /api/v1/chat/conversations/{id}`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/chat/conversations/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)

Недоступный, покинутый и отсутствующий чат одинаково возвращают 404.

## Response `200`

Чат и вычисленные server capabilities

- ChatConversation
  - `id` string, uuid, required
  - `type` 'direct' | 'group' | 'system', required
  - `status` 'active' | 'archived', required
  - `title` string, required
  - `description` string, required
  - `last_seq` integer, required
  - `last_message_id` string, uuid, required
  - `preview` ChatMessage
    - `id` string, uuid, required
    - `conversation_id` string, uuid, required
    - `seq` integer, required
    - `sender_user_id` integer, nullable, required
    - `kind` 'text' | 'system' | 'application' | 'file', required
    - `body` string, required
    - `mentions` ChatMessageMention[], required
      - `user_id` integer, required
      - `display_name` string, required
    - `client_message_id` string, uuid, required
    - `created_at` string, date-time, required
    - `attachments` ChatAttachment[], required
      - `id` string, uuid, required
      - `original_name` string, required
      - `content_type` 'audio/mp4' | 'audio/webm' | 'audio/ogg' | 'video/mp4' | 'video/quicktime', required
      - `size_bytes` integer, required
      - `sha256_hex` string, required
      - `media_kind` 'voice' | 'video_circle', required
      - `duration_ms` integer, required
      - `content_url` string, required
    - `reply_to_message_id` string, uuid, nullable
    - `forwarded_from_message_id` string, uuid, nullable: Пересланное: исходное сообщение. Нет у обычных сообщений
    - `forwarded_from_user_id` integer: Пересланное: автор оригинала — участник кабинета (ERP-1964, «Переслано от …»). При пересылке пересланного — тот, кто написал первым. Нет у обычных и у старых пересланных сообщений
    - `forwarded_from_name` string: Пересланное: подпись автора оригинала, когда участника нет в справочнике людей, — имя под ответом поддержки или название исходной беседы. Нет у обычных и у старых пересланных сообщений
    - `reply_quote` string: Цитата части исходного сообщения; поля нет, когда ответ на сообщение целиком, исходное удалено или недоступно
    - `deleted_at` string, date-time, nullable: Надгробие: сообщение удалено у всех. Тела, вложений, упоминаний и реакций у него нет; показывать его в ленте не нужно
  - `last_message_at` string, date-time, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `capabilities` ChatConversationCapabilities
    - `canRead` boolean, required
    - `canWrite` boolean, required
    - `canManageMembers` boolean, required
    - `canUpload` boolean, required
    - `canReact` boolean, required
    - `canPin` boolean, required
    - `canMarkRead` boolean, required
    - `canMarkUnread` boolean, required
    - `canMention` boolean, required
    - `canSetNotificationMode` boolean, required
    - `canSendVoice` boolean: Можно записать голосовое или видеокружок и переслать такое сюда. В чатах задач и поддержки — нет: там только текст, файлы и снимки экрана
  - `unread_count` integer, required
  - `first_unread_seq` integer, nullable, required
  - `manual_unread_seq` integer, nullable, required
  - `notification_mode` string, required
  - `notification_muted_until` string, date-time, nullable: До какого момента беседа молчит, если звук выключен на время: пока срок не вышел, notification_mode = muted. После срока поле пустое, а режим снова прежний
  - `notification_mode_after_mute` 'all' | 'mentions' | 'null', nullable: Какой режим вернётся, когда выйдет срок «без звука»; есть только пока срок идёт. По нему «Включить звук» возвращает прежний выбор
  - `mention_count` integer, required
  - `origin` string
  - `origin_ref` string, uuid
  - `last_read_seq` integer
  - `others_read_seq` integer
  - `has_avatar` boolean
  - `avatar_url` string
  - `peer_user_id` integer, nullable
  - `peer_avatar_url` string

## Other responses

- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/3c60ded179f2?raw)
