diff --git a/apps/docs/content/api/models.mdx b/apps/docs/content/api/models.mdx
index 487b82c3..1c2bab43 100644
--- a/apps/docs/content/api/models.mdx
+++ b/apps/docs/content/api/models.mdx
@@ -23,7 +23,7 @@ hideTableOfContents: true
-
+
@@ -154,8 +154,10 @@ hideTableOfContents: true
## Параметры бота
- [Новый бот](POST /bots)
+- [Список ботов](GET /bots)
- [Информация о боте](GET /bots/{id})
- [Редактирование бота](PUT /bots/{id})
+- [Удаление бота](DELETE /bots/{id})
- [Саморегистрация вебхука бота](PUT /bot/webhook)
- [Ротация токена бота](POST /bots/{id}/recreate_token)
- [Ротация собственного токена бота](POST /bot/recreate_token)
diff --git a/apps/docs/content/guides/bots/setup.mdx b/apps/docs/content/guides/bots/setup.mdx
index 9ad57d5d..cdde57ee 100644
--- a/apps/docs/content/guides/bots/setup.mdx
+++ b/apps/docs/content/guides/bots/setup.mdx
@@ -55,6 +55,8 @@ related:
Передайте параметры бота в объекте `bot.webhook`: имя, никнейм, Webhook URL, список событий и команды. Никнейм должен заканчиваться на `_bot`.
+
+ Тип бота — в один или несколько чатов — задаётся полем `single_chat` и только при создании: изменить его потом нельзя, как и тип бота в интерфейсе. Ограничение «в один чат» распространяется только на беседы и каналы, треды и личные сообщения не в счёт.
В ответе вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка **API** настроек бота), там же его можно перевыпустить. Вместе с токеном придёт `id` бота (его `user_id`).
@@ -92,6 +94,13 @@ related:
- **Все участники (кроме гостей)**
- **Публичный бот**
+### Настройка через API
+
+Эти доступы можно задать не только в интерфейсе, но и через API — методом [Редактирование бота](PUT /bots/{id}) или сразу при создании:
+
+- **Кто может редактировать настройки бота** — поле `can_edit` (роли `admin` и `chat_owners`). Создатель имеет доступ всегда, поэтому в поле перечисляются только дополнительные роли, а пустой массив означает «только создатель»
+- **Кто может добавлять бота в чаты** — поле `who_can_add` (`creator`, `creator_admin`, `creator_admin_user`, `anyone`)
+
## Настройка вебхуков и API
diff --git a/apps/docs/content/guides/cli/installation.mdx b/apps/docs/content/guides/cli/installation.mdx
index ba06722a..80f602fc 100644
--- a/apps/docs/content/guides/cli/installation.mdx
+++ b/apps/docs/content/guides/cli/installation.mdx
@@ -67,7 +67,7 @@ pachca doctor
# ✔ Конфиг ~/.config/pachca/config.toml (права: 600)
# ✔ Профиль personal (user: Иван Иванов)
# ✔ Токен действителен (11 скоупов)
-# ✔ CLI v2026.6.3 (актуальная версия)
+# ✔ CLI v2026.7.0 (актуальная версия)
```
## Обновление
diff --git a/apps/docs/content/guides/n8n/resources.mdx b/apps/docs/content/guides/n8n/resources.mdx
index dfc9d8f3..fb476ca6 100644
--- a/apps/docs/content/guides/n8n/resources.mdx
+++ b/apps/docs/content/guides/n8n/resources.mdx
@@ -31,7 +31,7 @@ related:
| 8 | [Profile](#profile) | 6 | Мой профиль: информация, аватар, статус | |
| 9 | [OAuth](#oauth) | 1 | Информация о токене | да |
| 10 | [Task](#task) | 5 | Задачи: полный CRUD | |
-| 11 | [Bot](#bot) | 8 | Боты: создание, получение, редактирование, вебхук, ротация токена, события | |
+| 11 | [Bot](#bot) | 10 | Боты: создание, получение, список, редактирование, удаление, вебхук, ротация токена, события | |
| 12 | [File](#file) | 1 | Загрузка файлов через S3 | |
| 13 | [Form](#form) | 1 | Модальные формы | |
| 14 | [Custom Property](#custom-property) | 1 | Дополнительные поля | да |
@@ -208,13 +208,15 @@ related:
## Bot
-Боты: создание, получение, редактирование, саморегистрация вебхука, ротация токена, история и удаление событий.
+Боты: создание, получение, список, редактирование, удаление, саморегистрация вебхука, ротация токена, история и удаление событий.
| Операция | API |
|----------|-----|
| Create | [Новый бот](POST /bots) |
| Get | [Информация о боте](GET /bots/{id}) |
+| Get Many | [Список ботов](GET /bots) |
| Update | [Редактирование бота](PUT /bots/{id}) |
+| Delete | [Удаление бота](DELETE /bots/{id}) |
| Update Webhook | [Саморегистрация вебхука бота](PUT /bot/webhook) |
| Recreate Token | [Ротация токена бота](POST /bots/{id}/recreate_token) |
| Recreate Token Self | [Ротация собственного токена бота](POST /bot/recreate_token) |
diff --git a/apps/docs/content/guides/webhook/events.mdx b/apps/docs/content/guides/webhook/events.mdx
index e58f64c9..67e1aa91 100644
--- a/apps/docs/content/guides/webhook/events.mdx
+++ b/apps/docs/content/guides/webhook/events.mdx
@@ -94,3 +94,11 @@ related:
Payload содержит обнаруженные ссылки. Полное сообщение получите методом [Информация о сообщении](GET /messages/{id}) по `message_id`.
+
+## Видеозвонки
+
+Вебхук отправляется для видеозвонков в чатах, где состоит бот, и в тредах этих чатов. Поле `event` в payload различает три события: `started` (звонок начался), `finished` (звонок завершился) и `recording_ready` (запись готова). Набор полей payload зависит от события.
+
+
+
+Для события `finished` payload содержит список участников с временем подключения и выхода, для `recording_ready` — ссылку на файл записи, её размер и длительность. Полные данные участников получите методом [Информация о сотруднике](GET /users/{id}) по каждому `user_id`, а чат — методом [Информация о чате](GET /chats/{id}) по `chat_id`.
diff --git a/apps/docs/content/updates/2026-07-07.md b/apps/docs/content/updates/2026-07-07.md
new file mode 100644
index 00000000..1da5afe4
--- /dev/null
+++ b/apps/docs/content/updates/2026-07-07.md
@@ -0,0 +1,24 @@
+---
+date: "2026-07-07"
+title: "Список и удаление ботов, права доступа бота, вебхуки видеозвонков"
+---
+
+Появились методы для управления ботами. Метод [Список ботов](GET /bots) возвращает ботов, которые вы можете редактировать, с поиском по имени. Метод [Удаление бота](DELETE /bots/{id}) удаляет бота: прежний токен сразу инвалидируется, бот исключается из чатов, его исходящий вебхук удаляется. Оба метода требуют скоуп `bots:read` и `bots:write` соответственно.
+
+- [Список ботов](GET /bots)
+- [Удаление бота](DELETE /bots/{id})
+
+При создании и редактировании бота добавились настройки прав доступа: `who_can_add` — кто может добавлять бота в чаты (`creator`, `creator_admin`, `creator_admin_user`, `anyone`), и `can_edit` — роли, которым, помимо создателя, разрешено редактировать настройки бота (`admin`, `chat_owners`). При создании также можно передать `single_chat` — ограничить бота одной беседой или каналом (личные чаты и треды в ограничение не входят). Все три поля возвращаются в объекте бота.
+
+- [Новый бот](POST /bots)
+- [Редактирование бота](PUT /bots/{id})
+
+Появился новый тип исходящего вебхука — события видеозвонков: `video_call_started`, `video_call_finished` и `video_call_recording_ready`. Вебхук приходит для видеозвонков в чатах, где состоит бот. Подробнее о payload — в гайде [Настройка и типы событий](/guides/webhook/events#videozvonki).
+
+В журнале аудита появился тип события `bot_deleted` — удаление бота. Его можно фильтровать параметром `event_key`.
+
+- [Журнал аудита событий](GET /audit_events)
+
+В поиске сотрудников у параметра `sort` появилось значение `creation` — сортировка по дате создания (в дополнение к `by_score` и `alphabetical`).
+
+- [Поиск сотрудников](GET /search/users)
diff --git a/apps/docs/data/releases.json b/apps/docs/data/releases.json
index cda42003..017932aa 100644
--- a/apps/docs/data/releases.json
+++ b/apps/docs/data/releases.json
@@ -1,4 +1,92 @@
[
+ {
+ "product": "sdk",
+ "version": "1.0.26",
+ "date": "2026-07-07",
+ "changes": [
+ {
+ "type": "+",
+ "description": "Метод `Список ботов` (`GET /bots`) — список ботов с поиском по имени"
+ },
+ {
+ "type": "+",
+ "description": "Метод `Удаление бота` (`DELETE /bots/{id}`)"
+ },
+ {
+ "type": "+",
+ "description": "У бота поля прав доступа: `who_can_add`, `can_edit`, `single_chat`"
+ },
+ {
+ "type": "+",
+ "description": "Новый payload исходящего вебхука `VideoCallWebhookPayload` и события `video_call_started`, `video_call_finished`, `video_call_recording_ready`"
+ },
+ {
+ "type": "+",
+ "description": "Журнал аудита: новый тип события `bot_deleted`"
+ },
+ {
+ "type": "+",
+ "description": "Поиск сотрудников (`GET /search/users`): значение сортировки `creation` (по дате создания)"
+ }
+ ]
+ },
+ {
+ "product": "cli",
+ "version": "2026.7.0",
+ "date": "2026-07-07",
+ "changes": [
+ {
+ "type": "+",
+ "description": "`pachca bots list` — список ботов с поиском по имени (`--query`)"
+ },
+ {
+ "type": "+",
+ "description": "`pachca bots delete` — удаление бота по его `id`"
+ },
+ {
+ "type": "+",
+ "description": "`pachca bots create` и `bots update` — права доступа бота: `--who-can-add`, `--can-edit`, `--single-chat`"
+ },
+ {
+ "type": "+",
+ "description": "`pachca search users` — значение сортировки `--sort creation` (по дате создания)"
+ }
+ ]
+ },
+ {
+ "product": "n8n",
+ "version": "2.0.14",
+ "date": "2026-07-07",
+ "changes": [
+ {
+ "type": "+",
+ "description": "Bot: новые операции `Get Many` (список ботов) и `Delete`"
+ },
+ {
+ "type": "+",
+ "description": "Bot: поля прав доступа `who_can_add`, `can_edit`, `single_chat` в операциях `Create` и `Update`"
+ },
+ {
+ "type": "+",
+ "description": "Trigger: события видеозвонков `video_call_started`, `video_call_finished`, `video_call_recording_ready`"
+ },
+ {
+ "type": "+",
+ "description": "User: поиск — опция сортировки `Creation` (по дате создания)"
+ }
+ ]
+ },
+ {
+ "product": "generator",
+ "version": "1.1.9",
+ "date": "2026-07-07",
+ "changes": [
+ {
+ "type": "-",
+ "description": "Kotlin SDK: сериализатор union исходящих вебхуков теперь строится по членам union, а не по захардкоженному списку — новый тип payload подхватывается автоматически (чинит компиляцию при добавлении `VideoCallWebhookPayload`)"
+ }
+ ]
+ },
{
"product": "generator",
"version": "1.1.8",
diff --git a/apps/docs/public/.well-known/agent-skills/index.json b/apps/docs/public/.well-known/agent-skills/index.json
index b79d60cc..56a1c4fb 100644
--- a/apps/docs/public/.well-known/agent-skills/index.json
+++ b/apps/docs/public/.well-known/agent-skills/index.json
@@ -41,7 +41,7 @@
"type": "skill-md",
"description": "Pachca — управление ботами и вебхуки. Используй этот скилл, когда пользователь хочет настроить бота, создать бота, настроить вебхуки, обработать вебхук, проверить подпись вебхука (X-Signature), обработать callback нажатия кнопки или создать дайджест-бота. НЕ для отправки обычных сообщений, показа форм или модальных окон. Разворачивание ссылок (unfurl) — в pachca-messages.",
"url": "/.well-known/skills/pachca-bots/SKILL.md",
- "digest": "sha256:c87e4bce24d102b399a60c3c2c49aa6980ea4931ef0f5be446a13c4e1c970b0d"
+ "digest": "sha256:c019fa2d37fb1703eae7ceb380c4c7e2da209116c77fe191b3340cfc1f6826ad"
},
{
"name": "pachca-forms",
diff --git a/apps/docs/public/.well-known/skills/index.json b/apps/docs/public/.well-known/skills/index.json
index b79d60cc..56a1c4fb 100644
--- a/apps/docs/public/.well-known/skills/index.json
+++ b/apps/docs/public/.well-known/skills/index.json
@@ -41,7 +41,7 @@
"type": "skill-md",
"description": "Pachca — управление ботами и вебхуки. Используй этот скилл, когда пользователь хочет настроить бота, создать бота, настроить вебхуки, обработать вебхук, проверить подпись вебхука (X-Signature), обработать callback нажатия кнопки или создать дайджест-бота. НЕ для отправки обычных сообщений, показа форм или модальных окон. Разворачивание ссылок (unfurl) — в pachca-messages.",
"url": "/.well-known/skills/pachca-bots/SKILL.md",
- "digest": "sha256:c87e4bce24d102b399a60c3c2c49aa6980ea4931ef0f5be446a13c4e1c970b0d"
+ "digest": "sha256:c019fa2d37fb1703eae7ceb380c4c7e2da209116c77fe191b3340cfc1f6826ad"
},
{
"name": "pachca-forms",
diff --git a/apps/docs/public/.well-known/skills/pachca-bots/SKILL.md b/apps/docs/public/.well-known/skills/pachca-bots/SKILL.md
index 2b26ee15..931bceb5 100644
--- a/apps/docs/public/.well-known/skills/pachca-bots/SKILL.md
+++ b/apps/docs/public/.well-known/skills/pachca-bots/SKILL.md
@@ -108,6 +108,21 @@ Help: `npx -y @pachca/cli --help` | Workflows: `npx -y @pachca/cli guide`
> Новый токен возвращается один раз. Self-путь (`POST /bot/recreate_token`) инвалидирует именно тот токен, которым выполнен запрос, — захвати новый токен из ответа в той же операции.
+### Найти и удалить бота
+
+1. Пользовательским токеном (скоуп `bots:read`) получи список ботов, доступных тебе для редактирования: созданных тобой и тех, чьи настройки открывают тебе доступ. Фильтруй по имени параметром `query`, следующую страницу бери из `meta.paginate.next_page`:
+ ```bash
+ pachca bots list --query="задач"
+ ```
+
+2. Возьми `id` нужного бота из списка и удали его (скоуп `bots:write`). Доступно администратору, владельцу компании или создателю бота — владельцы чатов удалять бота не могут. Прежний токен инвалидируется сразу, бот исключается из всех чатов, его исходящий вебхук удаляется:
+ ```bash
+ pachca bots delete
+ ```
+
+> Удаление необратимо: токен бота инвалидируется сразу, бот исключается из чатов. Событие фиксируется в журнале аудита как `bot_deleted`.
+
+
### Периодический дайджест/отчёт
1. По расписанию (cron/scheduler): собери данные из своей системы
@@ -127,6 +142,7 @@ Help: `npx -y @pachca/cli --help` | Workflows: `npx -y @pachca/cli guide`
- Rate limit: ~50 req/sec. On 429 — wait and retry.
- `webhook.trigger_on`: allowed values — `commands` (Только на команды (триггер-слова) из commands), `all_messages` (На все сообщения в чатах, где есть бот), `unfurl` (На развёртывание ссылок (link previews))
- `webhook.template_engine`: allowed values — `liquid` (Liquid — условия, циклы и фильтры), `mustache` (Mustache — простая подстановка без логики)
+- `webhook.who_can_add`: allowed values — `creator` (Только создатель бота), `creator_admin` (Создатель и администраторы компании), `creator_admin_user` (Создатель, администраторы и участники компании), `anyone` (Любой пользователь, в том числе гости)
- `limit`: max 50
- Pagination: cursor-based (limit + cursor)
@@ -136,9 +152,11 @@ Help: `npx -y @pachca/cli --help` | Workflows: `npx -y @pachca/cli guide`
|--------|------|-------------|
| POST | /bot/recreate_token | Ротация собственного токена бота |
| PUT | /bot/webhook | Саморегистрация вебхука бота |
+| GET | /bots | Список ботов |
| POST | /bots | Новый бот |
| GET | /bots/{id} | Информация о боте |
| PUT | /bots/{id} | Редактирование бота |
+| DELETE | /bots/{id} | Удаление бота |
| POST | /bots/{id}/recreate_token | Ротация токена бота |
| GET | /webhooks/events | История событий |
| DELETE | /webhooks/events/{id} | Удаление события |
diff --git a/apps/docs/public/.well-known/skills/pachca-bots/references/webhook-events.md b/apps/docs/public/.well-known/skills/pachca-bots/references/webhook-events.md
index 5f0fc020..dec3462f 100644
--- a/apps/docs/public/.well-known/skills/pachca-bots/references/webhook-events.md
+++ b/apps/docs/public/.well-known/skills/pachca-bots/references/webhook-events.md
@@ -44,6 +44,12 @@ Sent when members are added/removed in chats where the bot is a member.
Global event (does not require the bot to be in a chat). Events: invite, confirm, update, suspend, activate, delete.
+## Video calls
+
+Sent for video calls in chats where the bot is a member.
+Field `event` distinguishes: `started`, `finished` (includes participants and duration), `recording_ready` (includes recording file `url`, `size`, `duration`).
+Field `type` is always `video_call`. Common fields: `video_room_id`, `chat_id`, `owner_id`, `thread`.
+
## Security
1. Verify signature: `HMAC-SHA256(Signing secret, raw body)` === `Pachca-Signature`
diff --git a/apps/docs/public/api/bots/create.md b/apps/docs/public/api/bots/create.md
index f5c0a547..59781803 100644
--- a/apps/docs/public/api/bots/create.md
+++ b/apps/docs/public/api/bots/create.md
@@ -38,6 +38,10 @@
- `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `who_can_add: string` — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
+ - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `single_chat: boolean` (default: false) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется.. Пример: `false`
### Пример
@@ -58,7 +62,10 @@
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}
```
@@ -85,7 +92,10 @@ curl "https://api.pachca.com/api/shared/v1/bots" \
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}'
```
@@ -114,6 +124,10 @@ curl "https://api.pachca.com/api/shared/v1/bots" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
- `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
**Пример ответа:**
@@ -141,7 +155,12 @@ curl "https://api.pachca.com/api/shared/v1/bots" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
},
"access_token": "bm90X2FfcmVhbF90b2tlbg"
}
diff --git a/apps/docs/public/api/bots/delete.md b/apps/docs/public/api/bots/delete.md
new file mode 100644
index 00000000..78dbb552
--- /dev/null
+++ b/apps/docs/public/api/bots/delete.md
@@ -0,0 +1,128 @@
+> Расположение: Методы API → Боты и Webhook
+> Краткое содержание: Метод для удаления бота
+> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://dev.pachca.com/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.
+
+# Удаление бота
+
+**Метод**: `DELETE`
+
+**Путь**: `/bots/{id}`
+
+> **Скоуп:** `bots:write`
+
+Метод для удаления бота. Прежний `access_token` бота сразу инвалидируется, бот исключается из всех чатов, его исходящий вебхук удаляется.
+
+Удаление доступно создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Владельцы и администраторы чатов удалять бота не могут, даже если им разрешено его редактировать.
+
+Для удаления бота вам необходимо знать его `id` и указать его в `URL` запроса.
+
+## Параметры
+
+### Path параметры
+
+- `id: integer, int32` (required) — Идентификатор бота
+
+
+## Пример запроса
+
+```bash
+curl -X DELETE "https://api.pachca.com/api/shared/v1/bots/1738816" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
+```
+
+## Ответы
+
+### 204: There is no content to send for this request, but the headers may be useful.
+
+### 401: Access is unauthorized.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
+### 402: Client error
+
+**Схема ответа при ошибке:**
+
+- `errors: array of object` (required) — Массив ошибок
+ - `key: string` (required) — Ключ поля с ошибкой. Пример: `"field.name"`
+ - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `"invalid_value"`
+ - `message: string` (required) — Сообщение об ошибке. Пример: `"Поле не может быть пустым"`
+ - `code: string` (required) — Код ошибки
+ Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде
+ - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`
+ **Структура значений Record:**
+ - Тип значения: `any`
+
+**Пример ответа:**
+
+```json
+{
+ "errors": [
+ {
+ "key": "field.name",
+ "value": "invalid_value",
+ "message": "Поле не может быть пустым",
+ "code": "blank",
+ "payload": null
+ }
+ ]
+}
+```
+
+### 403: Access is forbidden.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
+### 404: The server cannot find the requested resource.
+
+**Схема ответа при ошибке:**
+
+- `errors: array of object` (required) — Массив ошибок
+ - `key: string` (required) — Ключ поля с ошибкой. Пример: `"field.name"`
+ - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `"invalid_value"`
+ - `message: string` (required) — Сообщение об ошибке. Пример: `"Поле не может быть пустым"`
+ - `code: string` (required) — Код ошибки
+ Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде
+ - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`
+ **Структура значений Record:**
+ - Тип значения: `any`
+
+**Пример ответа:**
+
+```json
+{
+ "errors": [
+ {
+ "key": "field.name",
+ "value": "invalid_value",
+ "message": "Поле не может быть пустым",
+ "code": "blank",
+ "payload": null
+ }
+ ]
+}
+```
+
diff --git a/apps/docs/public/api/bots/get.md b/apps/docs/public/api/bots/get.md
index 8d7e18ee..5bf82e7b 100644
--- a/apps/docs/public/api/bots/get.md
+++ b/apps/docs/public/api/bots/get.md
@@ -50,6 +50,10 @@ curl "https://api.pachca.com/api/shared/v1/bots/1738816" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
**Пример ответа:**
@@ -76,7 +80,12 @@ curl "https://api.pachca.com/api/shared/v1/bots/1738816" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
}
}
}
diff --git a/apps/docs/public/api/bots/list-events.md b/apps/docs/public/api/bots/list-events.md
index 11afc448..d7978da8 100644
--- a/apps/docs/public/api/bots/list-events.md
+++ b/apps/docs/public/api/bots/list-events.md
@@ -131,6 +131,31 @@ curl "https://api.pachca.com/api/shared/v1/webhooks/events?limit=1" \
- `user_id: integer, int32` (required) — Идентификатор отправителя сообщения. Пример: `2345`
- `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2024-09-18T19:53:14.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1726685594`
+ - **VideoCallWebhookPayload**: Структура исходящего вебхука о видеозвонке
+ - `type: string` (required) — Тип объекта. Пример: `"video_call"`
+ Значения: `video_call` — Для видеозвонков всегда video_call
+ - `event: string` (required) — Тип события
+ Значения: `started` — Видеозвонок начался, `finished` — Видеозвонок завершился, `recording_ready` — Запись видеозвонка готова
+ - `video_room_id: integer, int32` (required) — Идентификатор видеозвонка. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором проходит видеозвонок. Пример: `23438`
+ - `owner_id: integer, int32` (required) — Идентификатор пользователя, начавшего видеозвонок. Пример: `2345`
+ - `thread: object` — Объект с параметрами треда, если видеозвонок проходит в треде. `null`, если звонок не в треде.
+ - `id: integer, int32` (required) — Идентификатор треда. Пример: `12345`
+ - `chat_id: integer, int32` (required) — Идентификатор чата треда. Пример: `67890`
+ - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому создан тред. Пример: `268092`
+ - `message_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому создан тред. Пример: `23438`
+ - `started_at: date-time` — Дата и время начала звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для событий started и finished.. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `finished_at: date-time` — Дата и время завершения звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для события finished.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `duration: integer, int32` — Длительность в секундах. Для события finished — длительность звонка, для recording_ready — длительность записи.. Пример: `900`
+ - `members: array of object` — Список участников звонка. Присутствует для события finished.
+ - `user_id: integer, int32` (required) — Идентификатор участника. Пример: `2345`
+ - `joined_at: date-time` (required) — Дата и время первого подключения к звонку (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `left_at: date-time` (required) — Дата и время выхода из звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Если участник оставался в звонке до его завершения, совпадает с временем окончания звонка.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `recording_id: integer, int32` — Идентификатор записи. Присутствует для события recording_ready.. Пример: `4567`
+ - `file_id: integer, int32` — Идентификатор файла записи. Присутствует для события recording_ready. `null`, если файл ещё не привязан.. Пример: `89012`
+ - `url: string` — Прямая ссылка на файл записи. Присутствует для события recording_ready.. Пример: `"https://api.pachca.com/files/89012"`
+ - `size: integer, int32` — Размер файла записи в байтах. Присутствует для события recording_ready.. Пример: `10485760`
+ - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
- `meta: object` (required) — Метаданные пагинации
- `paginate: object` (required) — Вспомогательная информация
diff --git a/apps/docs/public/api/bots/list.md b/apps/docs/public/api/bots/list.md
new file mode 100644
index 00000000..7077ffa0
--- /dev/null
+++ b/apps/docs/public/api/bots/list.md
@@ -0,0 +1,174 @@
+> Расположение: Методы API → Боты и Webhook
+> Краткое содержание: Метод для получения списка ботов
+> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://dev.pachca.com/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.
+
+# Список ботов
+
+**Метод**: `GET`
+
+**Путь**: `/bots`
+
+> **Скоуп:** `bots:read`
+
+Метод для получения списка ботов. Возвращаются только боты, доступные вам для редактирования: созданные вами и те, чьи настройки открывают вам доступ к редактированию.
+
+## Параметры
+
+### Query параметры
+
+- `query: string` — Поисковая фраза для фильтрации ботов по имени
+- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос
+- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)
+
+
+## Пример запроса
+
+```bash
+# Для получения следующей страницы используйте cursor из meta.paginate.next_page
+curl "https://api.pachca.com/api/shared/v1/bots?query=задач&limit=1" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
+```
+
+## Ответы
+
+### 200: The request has succeeded.
+
+**Схема ответа:**
+
+- `data: array of object` (required)
+ - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`
+ - `webhook: object` (required) — Объект параметров вебхука
+ - `name: string` (required) — Имя бота. Пример: `"Бот задач"`
+ - `nickname: string` (required) — Никнейм бота. Пример: `"tasks_bot"`
+ - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `events: array of string` (required) — События, на которые подписан бот. Пример: `["message_new"]`
+ - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука
+ Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)
+ - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `["/task"]`
+ - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `["messages:create"]`
+ - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `"Заказ от {{ client }} на сумму {{ amount }} ₽"`
+ - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука
+ Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики
+ - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `"challenge"`
+ - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
+ - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
+ - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
+- `meta: object` (required) — Метаданные пагинации
+ - `paginate: object` (required) — Вспомогательная информация
+ - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `"eyJxZCO2MiwiZGlyIjomSNYjIn3"`
+ - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `"eyJxZCO2MiwiZGlyIjoiYXNjIn0"`
+ - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`
+ - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`
+
+**Пример ответа:**
+
+```json
+{
+ "data": [
+ {
+ "id": 1738816,
+ "webhook": {
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task"
+ ],
+ "scopes": [
+ "messages:create"
+ ],
+ "template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
+ "template_engine": "liquid",
+ "challenge_key": "challenge",
+ "link_preview_enabled": true,
+ "ignore_self_messages": false,
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
+ }
+ }
+ ],
+ "meta": {
+ "paginate": {
+ "next_page": "eyJxZCO2MiwiZGlyIjomSNYjIn3",
+ "prev_page": "eyJxZCO2MiwiZGlyIjoiYXNjIn0",
+ "has_next": true,
+ "has_prev": false
+ }
+ }
+}
+```
+
+### 401: Access is unauthorized.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
+### 402: Client error
+
+**Схема ответа при ошибке:**
+
+- `errors: array of object` (required) — Массив ошибок
+ - `key: string` (required) — Ключ поля с ошибкой. Пример: `"field.name"`
+ - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `"invalid_value"`
+ - `message: string` (required) — Сообщение об ошибке. Пример: `"Поле не может быть пустым"`
+ - `code: string` (required) — Код ошибки
+ Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде
+ - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`
+ **Структура значений Record:**
+ - Тип значения: `any`
+
+**Пример ответа:**
+
+```json
+{
+ "errors": [
+ {
+ "key": "field.name",
+ "value": "invalid_value",
+ "message": "Поле не может быть пустым",
+ "code": "blank",
+ "payload": null
+ }
+ ]
+}
+```
+
+### 403: Access is forbidden.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
diff --git a/apps/docs/public/api/bots/recreate-token-self.md b/apps/docs/public/api/bots/recreate-token-self.md
index 8184e097..c07ca88e 100644
--- a/apps/docs/public/api/bots/recreate-token-self.md
+++ b/apps/docs/public/api/bots/recreate-token-self.md
@@ -45,6 +45,10 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bot/recreate_token" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
- `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
**Пример ответа:**
@@ -72,7 +76,12 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bot/recreate_token" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
},
"access_token": "bm90X2FfcmVhbF90b2tlbg"
}
diff --git a/apps/docs/public/api/bots/recreate-token.md b/apps/docs/public/api/bots/recreate-token.md
index c4055e9e..9a6ce8fa 100644
--- a/apps/docs/public/api/bots/recreate-token.md
+++ b/apps/docs/public/api/bots/recreate-token.md
@@ -12,7 +12,7 @@
Метод генерирует боту новый `access_token` и сразу инвалидирует прежний. Используйте его при компрометации токена или плановой ротации секрета в `CI`.
-Доступен администратору, владельцу компании или создателю бота. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.
+Ротация доступна создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.
## Параметры
@@ -52,6 +52,10 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bots/1738816/recreate_token"
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
- `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
**Пример ответа:**
@@ -79,7 +83,12 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bots/1738816/recreate_token"
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
},
"access_token": "bm90X2FfcmVhbF90b2tlbg"
}
diff --git a/apps/docs/public/api/bots/update-webhook.md b/apps/docs/public/api/bots/update-webhook.md
index 58dea56c..7f480880 100644
--- a/apps/docs/public/api/bots/update-webhook.md
+++ b/apps/docs/public/api/bots/update-webhook.md
@@ -70,6 +70,10 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bot/webhook" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
**Пример ответа:**
@@ -96,7 +100,12 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bot/webhook" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
}
}
}
diff --git a/apps/docs/public/api/bots/update.md b/apps/docs/public/api/bots/update.md
index 1609d03a..ac3138eb 100644
--- a/apps/docs/public/api/bots/update.md
+++ b/apps/docs/public/api/bots/update.md
@@ -47,6 +47,9 @@
- `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `who_can_add: string` — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
+ - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
### Пример
@@ -67,7 +70,10 @@
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}
```
@@ -94,7 +100,10 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}'
```
@@ -123,6 +132,10 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
**Пример ответа:**
@@ -149,7 +162,12 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
}
}
}
diff --git a/apps/docs/public/api/llms.txt b/apps/docs/public/api/llms.txt
index 3fcc0de5..3246c399 100644
--- a/apps/docs/public/api/llms.txt
+++ b/apps/docs/public/api/llms.txt
@@ -105,9 +105,11 @@
## Bots
- [Ротация собственного токена бота](https://dev.pachca.com/api/bots/recreate-token-self.md): POST /bot/recreate_token
- [Саморегистрация вебхука бота](https://dev.pachca.com/api/bots/update-webhook.md): PUT /bot/webhook
+- [Список ботов](https://dev.pachca.com/api/bots/list.md): GET /bots
- [Новый бот](https://dev.pachca.com/api/bots/create.md): POST /bots
- [Информация о боте](https://dev.pachca.com/api/bots/get.md): GET /bots/{id}
- [Редактирование бота](https://dev.pachca.com/api/bots/update.md): PUT /bots/{id}
+- [Удаление бота](https://dev.pachca.com/api/bots/delete.md): DELETE /bots/{id}
- [Ротация токена бота](https://dev.pachca.com/api/bots/recreate-token.md): POST /bots/{id}/recreate_token
- [История событий](https://dev.pachca.com/api/bots/list-events.md): GET /webhooks/events
- [Удаление события](https://dev.pachca.com/api/bots/remove-event.md): DELETE /webhooks/events/{id}
diff --git a/apps/docs/public/api/models.md b/apps/docs/public/api/models.md
index 0b24a463..04c93174 100644
--- a/apps/docs/public/api/models.md
+++ b/apps/docs/public/api/models.md
@@ -395,8 +395,10 @@
## Параметры бота
- [Новый бот](POST /bots)
+- [Список ботов](GET /bots)
- [Информация о боте](GET /bots/{id})
- [Редактирование бота](PUT /bots/{id})
+- [Удаление бота](DELETE /bots/{id})
- [Саморегистрация вебхука бота](PUT /bot/webhook)
- [Ротация токена бота](POST /bots/{id}/recreate_token)
- [Ротация собственного токена бота](POST /bot/recreate_token)
@@ -420,6 +422,10 @@
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
## Событие исходящего вебхука
@@ -521,6 +527,31 @@
- `user_id: integer, int32` (required) — Идентификатор отправителя сообщения. Пример: `2345`
- `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2024-09-18T19:53:14.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1726685594`
+ - **VideoCallWebhookPayload**: Структура исходящего вебхука о видеозвонке
+ - `type: string` (required) — Тип объекта. Пример: `"video_call"`
+ Значения: `video_call` — Для видеозвонков всегда video_call
+ - `event: string` (required) — Тип события
+ Значения: `started` — Видеозвонок начался, `finished` — Видеозвонок завершился, `recording_ready` — Запись видеозвонка готова
+ - `video_room_id: integer, int32` (required) — Идентификатор видеозвонка. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором проходит видеозвонок. Пример: `23438`
+ - `owner_id: integer, int32` (required) — Идентификатор пользователя, начавшего видеозвонок. Пример: `2345`
+ - `thread: object` — Объект с параметрами треда, если видеозвонок проходит в треде. `null`, если звонок не в треде.
+ - `id: integer, int32` (required) — Идентификатор треда. Пример: `12345`
+ - `chat_id: integer, int32` (required) — Идентификатор чата треда. Пример: `67890`
+ - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому создан тред. Пример: `268092`
+ - `message_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому создан тред. Пример: `23438`
+ - `started_at: date-time` — Дата и время начала звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для событий started и finished.. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `finished_at: date-time` — Дата и время завершения звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для события finished.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `duration: integer, int32` — Длительность в секундах. Для события finished — длительность звонка, для recording_ready — длительность записи.. Пример: `900`
+ - `members: array of object` — Список участников звонка. Присутствует для события finished.
+ - `user_id: integer, int32` (required) — Идентификатор участника. Пример: `2345`
+ - `joined_at: date-time` (required) — Дата и время первого подключения к звонку (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `left_at: date-time` (required) — Дата и время выхода из звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Если участник оставался в звонке до его завершения, совпадает с временем окончания звонка.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `recording_id: integer, int32` — Идентификатор записи. Присутствует для события recording_ready.. Пример: `4567`
+ - `file_id: integer, int32` — Идентификатор файла записи. Присутствует для события recording_ready. `null`, если файл ещё не привязан.. Пример: `89012`
+ - `url: string` — Прямая ссылка на файл записи. Присутствует для события recording_ready.. Пример: `"https://api.pachca.com/files/89012"`
+ - `size: integer, int32` — Размер файла записи в байтах. Присутствует для события recording_ready.. Пример: `10485760`
+ - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
@@ -533,7 +564,7 @@
- `id: string` (required) — Уникальный идентификатор события. Пример: `"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14"`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
- `event_key: string` (required) — Ключ типа события
- Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация)
+ Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация), `bot_deleted` — Бот удалён
- `entity_id: string` (required) — Идентификатор затронутой сущности. Пример: `"98765"`
- `entity_type: string` (required) — Тип затронутой сущности. Пример: `"User"`
- `actor_id: string` (required) — Идентификатор пользователя, выполнившего действие. Пример: `"98765"`
@@ -541,7 +572,7 @@
- `details: anyOf` (required) — Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект
**Возможные варианты:**
- - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated
+ - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated, bot_deleted
- **AuditDetailsUserUpdated**: При: user_updated
- `changed_attrs: array of string` (required) — Список изменённых полей
- **AuditDetailsRoleChanged**: При: user_role_changed
diff --git a/apps/docs/public/api/search/list-users.md b/apps/docs/public/api/search/list-users.md
index a6bdab80..847c521a 100644
--- a/apps/docs/public/api/search/list-users.md
+++ b/apps/docs/public/api/search/list-users.md
@@ -20,7 +20,7 @@
- `limit: integer, int32` (default: 200) — Количество возвращаемых результатов за один запрос
- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)
- `sort: string` — Сортировка результатов
- Значения: `by_score`, `alphabetical`
+ Значения: `by_score`, `alphabetical`, `creation`
- `order: string` — Направление сортировки
Значения: `asc`, `desc`
- `created_from: date-time` — Фильтр по дате создания (от)
diff --git a/apps/docs/public/api/security/list.md b/apps/docs/public/api/security/list.md
index 77ff93c8..7cec91cf 100644
--- a/apps/docs/public/api/security/list.md
+++ b/apps/docs/public/api/security/list.md
@@ -21,7 +21,7 @@
- `start_time: date-time` — Начальная метка времени (включительно)
- `end_time: date-time` — Конечная метка времени (исключительно)
- `event_key: string` — Фильтр по конкретному типу события
- Значения: `user_login`, `user_logout`, `user_2fa_fail`, `user_2fa_success`, `user_created`, `user_deleted`, `user_role_changed`, `user_updated`, `tag_created`, `tag_deleted`, `user_added_to_tag`, `user_removed_from_tag`, `chat_created`, `chat_renamed`, `chat_permission_changed`, `user_chat_join`, `user_chat_leave`, `tag_added_to_chat`, `tag_removed_from_chat`, `message_updated`, `message_deleted`, `message_created`, `reaction_created`, `reaction_deleted`, `thread_created`, `access_token_created`, `access_token_updated`, `access_token_destroy`, `kms_encrypt`, `kms_decrypt`, `audit_events_accessed`, `dlp_violation_detected`, `search_users_api`, `search_chats_api`, `search_messages_api`, `bot_scopes_updated`, `bot_webhook_settings_updated`, `bot_token_recreated`
+ Значения: `user_login`, `user_logout`, `user_2fa_fail`, `user_2fa_success`, `user_created`, `user_deleted`, `user_role_changed`, `user_updated`, `tag_created`, `tag_deleted`, `user_added_to_tag`, `user_removed_from_tag`, `chat_created`, `chat_renamed`, `chat_permission_changed`, `user_chat_join`, `user_chat_leave`, `tag_added_to_chat`, `tag_removed_from_chat`, `message_updated`, `message_deleted`, `message_created`, `reaction_created`, `reaction_deleted`, `thread_created`, `access_token_created`, `access_token_updated`, `access_token_destroy`, `kms_encrypt`, `kms_decrypt`, `audit_events_accessed`, `dlp_violation_detected`, `search_users_api`, `search_chats_api`, `search_messages_api`, `bot_scopes_updated`, `bot_webhook_settings_updated`, `bot_token_recreated`, `bot_deleted`
- `actor_id: string` — Идентификатор пользователя, выполнившего действие
- `actor_type: string` — Тип актора
- `entity_id: string` — Идентификатор затронутой сущности
@@ -48,7 +48,7 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09
- `id: string` (required) — Уникальный идентификатор события. Пример: `"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14"`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
- `event_key: string` (required) — Ключ типа события
- Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация)
+ Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация), `bot_deleted` — Бот удалён
- `entity_id: string` (required) — Идентификатор затронутой сущности. Пример: `"98765"`
- `entity_type: string` (required) — Тип затронутой сущности. Пример: `"User"`
- `actor_id: string` (required) — Идентификатор пользователя, выполнившего действие. Пример: `"98765"`
@@ -56,7 +56,7 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09
- `details: anyOf` (required) — Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект
**Возможные варианты:**
- - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated
+ - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated, bot_deleted
- **AuditDetailsUserUpdated**: При: user_updated
- `changed_attrs: array of string` (required) — Список изменённых полей
- **AuditDetailsRoleChanged**: При: user_role_changed
diff --git a/apps/docs/public/guides/bots/setup.md b/apps/docs/public/guides/bots/setup.md
index 2b367a26..cba051aa 100644
--- a/apps/docs/public/guides/bots/setup.md
+++ b/apps/docs/public/guides/bots/setup.md
@@ -58,6 +58,8 @@
Передайте параметры бота в объекте `bot.webhook`: имя, никнейм, Webhook URL, список событий и команды. Никнейм должен заканчиваться на `_bot`.
+Тип бота — в один или несколько чатов — задаётся полем `single_chat` и только при создании: изменить его потом нельзя, как и тип бота в интерфейсе. Ограничение «в один чат» распространяется только на беседы и каналы, треды и личные сообщения не в счёт.
+
### Шаг 2. Сохраните access_token
@@ -98,6 +100,13 @@
- **Все участники (кроме гостей)**
- **Публичный бот**
+### Настройка через API
+
+Эти доступы можно задать не только в интерфейсе, но и через API — методом [Редактирование бота](PUT /bots/{id}) или сразу при создании:
+
+- **Кто может редактировать настройки бота** — поле `can_edit` (роли `admin` и `chat_owners`). Создатель имеет доступ всегда, поэтому в поле перечисляются только дополнительные роли, а пустой массив означает «только создатель»
+- **Кто может добавлять бота в чаты** — поле `who_can_add` (`creator`, `creator_admin`, `creator_admin_user`, `anyone`)
+
## Настройка вебхуков и API

diff --git a/apps/docs/public/guides/cli/commands.md b/apps/docs/public/guides/cli/commands.md
index d8d80646..4ee7d699 100644
--- a/apps/docs/public/guides/cli/commands.md
+++ b/apps/docs/public/guides/cli/commands.md
@@ -30,7 +30,9 @@ dev.pachca.com/api/members/add → pachca members add
| `pachca auth status` | Статус текущего профиля |
| `pachca auth switch` | Переключение активного профиля |
| `pachca bots create` | `POST` Новый бот |
+| `pachca bots delete` | `DELETE` Удаление бота |
| `pachca bots get` | `GET` Информация о боте |
+| `pachca bots list` | `GET` Список ботов |
| `pachca bots list-events` | `GET` История событий |
| `pachca bots recreate-token` | `POST` Ротация токена бота |
| `pachca bots recreate-token-self` | `POST` Ротация собственного токена бота |
diff --git a/apps/docs/public/guides/cli/installation.md b/apps/docs/public/guides/cli/installation.md
index 3611fdab..61ae2f15 100644
--- a/apps/docs/public/guides/cli/installation.md
+++ b/apps/docs/public/guides/cli/installation.md
@@ -64,7 +64,7 @@ pachca doctor
# ✔ Конфиг ~/.config/pachca/config.toml (права: 600)
# ✔ Профиль personal (user: Иван Иванов)
# ✔ Токен действителен (11 скоупов)
-# ✔ CLI v2026.6.3 (актуальная версия)
+# ✔ CLI v2026.7.0 (актуальная версия)
```
## Обновление
diff --git a/apps/docs/public/guides/n8n/resources.md b/apps/docs/public/guides/n8n/resources.md
index 55f8c494..117580b6 100644
--- a/apps/docs/public/guides/n8n/resources.md
+++ b/apps/docs/public/guides/n8n/resources.md
@@ -33,7 +33,7 @@
| 8 | [Profile](#profile) | 6 | Мой профиль: информация, аватар, статус | |
| 9 | [OAuth](#oauth) | 1 | Информация о токене | да |
| 10 | [Task](#task) | 5 | Задачи: полный CRUD | |
-| 11 | [Bot](#bot) | 8 | Боты: создание, получение, редактирование, вебхук, ротация токена, события | |
+| 11 | [Bot](#bot) | 10 | Боты: создание, получение, список, редактирование, удаление, вебхук, ротация токена, события | |
| 12 | [File](#file) | 1 | Загрузка файлов через S3 | |
| 13 | [Form](#form) | 1 | Модальные формы | |
| 14 | [Custom Property](#custom-property) | 1 | Дополнительные поля | да |
@@ -215,13 +215,15 @@
## Bot
-Боты: создание, получение, редактирование, саморегистрация вебхука, ротация токена, история и удаление событий.
+Боты: создание, получение, список, редактирование, удаление, саморегистрация вебхука, ротация токена, история и удаление событий.
| Операция | API |
|----------|-----|
| Create | [Новый бот](POST /bots) |
| Get | [Информация о боте](GET /bots/{id}) |
+| Get Many | [Список ботов](GET /bots) |
| Update | [Редактирование бота](PUT /bots/{id}) |
+| Delete | [Удаление бота](DELETE /bots/{id}) |
| Update Webhook | [Саморегистрация вебхука бота](PUT /bot/webhook) |
| Recreate Token | [Ротация токена бота](POST /bots/{id}/recreate_token) |
| Recreate Token Self | [Ротация собственного токена бота](POST /bot/recreate_token) |
diff --git a/apps/docs/public/guides/sdk/csharp.md b/apps/docs/public/guides/sdk/csharp.md
index 20bd2366..88d3d671 100644
--- a/apps/docs/public/guides/sdk/csharp.md
+++ b/apps/docs/public/guides/sdk/csharp.md
@@ -130,10 +130,12 @@ using var client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.co
| `client.Bots.CreateBotAsync()` | [Новый бот](/api/bots/create) |
| `client.Bots.SelfRecreateBotTokenAsync()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.Bots.RecreateBotTokenAsync()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.Bots.ListBotsAsync()` | [Список ботов](/api/bots/list) |
| `client.Bots.GetBotAsync()` | [Информация о боте](/api/bots/get) |
| `client.Bots.GetWebhookEventsAsync()` | [История событий](/api/bots/list-events) |
| `client.Bots.SelfUpdateBotWebhookAsync()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.Bots.UpdateBotAsync()` | [Редактирование бота](/api/bots/update) |
+| `client.Bots.DeleteBotAsync()` | [Удаление бота](/api/bots/delete) |
| `client.Bots.DeleteWebhookEventAsync()` | [Удаление события](/api/bots/remove-event) |
| `client.Security.GetAuditEventsAsync()` | [Журнал аудита событий](/api/security/list) |
| `client.CustomProperties.ListPropertiesAsync()` | [Список дополнительных полей](/api/custom-properties/list) |
diff --git a/apps/docs/public/guides/sdk/go.md b/apps/docs/public/guides/sdk/go.md
index 700933a9..3eae54f9 100644
--- a/apps/docs/public/guides/sdk/go.md
+++ b/apps/docs/public/guides/sdk/go.md
@@ -137,10 +137,12 @@ user, err := client.Profile.GetProfile(ctx)
| `client.Bots.CreateBot()` | [Новый бот](/api/bots/create) |
| `client.Bots.SelfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.Bots.RecreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.Bots.ListBots()` | [Список ботов](/api/bots/list) |
| `client.Bots.GetBot()` | [Информация о боте](/api/bots/get) |
| `client.Bots.GetWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.Bots.SelfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.Bots.UpdateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.Bots.DeleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.Bots.DeleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.Security.GetAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.CustomProperties.ListProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
diff --git a/apps/docs/public/guides/sdk/kotlin.md b/apps/docs/public/guides/sdk/kotlin.md
index aef03533..d5779291 100644
--- a/apps/docs/public/guides/sdk/kotlin.md
+++ b/apps/docs/public/guides/sdk/kotlin.md
@@ -145,10 +145,12 @@ client.close()
| `client.bots.createBot()` | [Новый бот](/api/bots/create) |
| `client.bots.selfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.listBots()` | [Список ботов](/api/bots/list) |
| `client.bots.getBot()` | [Информация о боте](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.selfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.deleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.security.getAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.customProperties.listProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
diff --git a/apps/docs/public/guides/sdk/python.md b/apps/docs/public/guides/sdk/python.md
index ba91f302..08dccb98 100644
--- a/apps/docs/public/guides/sdk/python.md
+++ b/apps/docs/public/guides/sdk/python.md
@@ -135,10 +135,12 @@ await client.close()
| `client.bots.create_bot()` | [Новый бот](/api/bots/create) |
| `client.bots.self_recreate_bot_token()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreate_bot_token()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.list_bots()` | [Список ботов](/api/bots/list) |
| `client.bots.get_bot()` | [Информация о боте](/api/bots/get) |
| `client.bots.get_webhook_events()` | [История событий](/api/bots/list-events) |
| `client.bots.self_update_bot_webhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.update_bot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.delete_bot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.delete_webhook_event()` | [Удаление события](/api/bots/remove-event) |
| `client.security.get_audit_events()` | [Журнал аудита событий](/api/security/list) |
| `client.custom_properties.list_properties()` | [Список дополнительных полей](/api/custom-properties/list) |
diff --git a/apps/docs/public/guides/sdk/swift.md b/apps/docs/public/guides/sdk/swift.md
index c4b2623e..b0407e36 100644
--- a/apps/docs/public/guides/sdk/swift.md
+++ b/apps/docs/public/guides/sdk/swift.md
@@ -136,10 +136,12 @@ let client = PachcaClient(token: "YOUR_TOKEN", baseURL: "https://custom-api.exam
| `client.bots.createBot()` | [Новый бот](/api/bots/create) |
| `client.bots.selfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.listBots()` | [Список ботов](/api/bots/list) |
| `client.bots.getBot()` | [Информация о боте](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.selfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.deleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.security.getAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.customProperties.listProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
diff --git a/apps/docs/public/guides/sdk/typescript.md b/apps/docs/public/guides/sdk/typescript.md
index a3362905..bfc0c9c6 100644
--- a/apps/docs/public/guides/sdk/typescript.md
+++ b/apps/docs/public/guides/sdk/typescript.md
@@ -128,10 +128,12 @@ const client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.com/ap
| `client.bots.createBot()` | [Новый бот](/api/bots/create) |
| `client.bots.selfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.listBots()` | [Список ботов](/api/bots/list) |
| `client.bots.getBot()` | [Информация о боте](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.selfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.deleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.security.getAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.customProperties.listProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
diff --git a/apps/docs/public/guides/webhook/events.md b/apps/docs/public/guides/webhook/events.md
index 23aaa8e7..a94ef5ff 100644
--- a/apps/docs/public/guides/webhook/events.md
+++ b/apps/docs/public/guides/webhook/events.md
@@ -197,6 +197,41 @@
> Payload содержит обнаруженные ссылки. Полное сообщение получите методом [Информация о сообщении](GET /messages/{id}) по `message_id`.
+## Видеозвонки
+
+Вебхук отправляется для видеозвонков в чатах, где состоит бот, и в тредах этих чатов. Поле `event` в payload различает три события: `started` (звонок начался), `finished` (звонок завершился) и `recording_ready` (запись готова). Набор полей payload зависит от события.
+
+#### VideoCallWebhookPayload
+
+- `type: string` (required) — Тип объекта. Пример: `"video_call"`
+ Значения: `video_call` — Для видеозвонков всегда video_call
+- `event: string` (required) — Тип события
+ Значения: `started` — Видеозвонок начался, `finished` — Видеозвонок завершился, `recording_ready` — Запись видеозвонка готова
+- `video_room_id: integer, int32` (required) — Идентификатор видеозвонка. Пример: `9012`
+- `chat_id: integer, int32` (required) — Идентификатор чата, в котором проходит видеозвонок. Пример: `23438`
+- `owner_id: integer, int32` (required) — Идентификатор пользователя, начавшего видеозвонок. Пример: `2345`
+- `thread: object` — Объект с параметрами треда, если видеозвонок проходит в треде. `null`, если звонок не в треде.
+ - `id: integer, int32` (required) — Идентификатор треда. Пример: `12345`
+ - `chat_id: integer, int32` (required) — Идентификатор чата треда. Пример: `67890`
+ - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому создан тред. Пример: `268092`
+ - `message_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому создан тред. Пример: `23438`
+- `started_at: date-time` — Дата и время начала звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для событий started и finished.. Пример: `"2025-05-15T14:30:00.000Z"`
+- `finished_at: date-time` — Дата и время завершения звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для события finished.. Пример: `"2025-05-15T14:45:00.000Z"`
+- `duration: integer, int32` — Длительность в секундах. Для события finished — длительность звонка, для recording_ready — длительность записи.. Пример: `900`
+- `members: array of object` — Список участников звонка. Присутствует для события finished.
+ - `user_id: integer, int32` (required) — Идентификатор участника. Пример: `2345`
+ - `joined_at: date-time` (required) — Дата и время первого подключения к звонку (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `left_at: date-time` (required) — Дата и время выхода из звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Если участник оставался в звонке до его завершения, совпадает с временем окончания звонка.. Пример: `"2025-05-15T14:45:00.000Z"`
+- `recording_id: integer, int32` — Идентификатор записи. Присутствует для события recording_ready.. Пример: `4567`
+- `file_id: integer, int32` — Идентификатор файла записи. Присутствует для события recording_ready. `null`, если файл ещё не привязан.. Пример: `89012`
+- `url: string` — Прямая ссылка на файл записи. Присутствует для события recording_ready.. Пример: `"https://api.pachca.com/files/89012"`
+- `size: integer, int32` — Размер файла записи в байтах. Присутствует для события recording_ready.. Пример: `10485760`
+- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
+
+
+> Для события `finished` payload содержит список участников с временем подключения и выхода, для `recording_ready` — ссылку на файл записи, её размер и длительность. Полные данные участников получите методом [Информация о сотруднике](GET /users/{id}) по каждому `user_id`, а чат — методом [Информация о чате](GET /chats/{id}) по `chat_id`.
+
+
## Связанные разделы
diff --git a/apps/docs/public/guides/workflows.md b/apps/docs/public/guides/workflows.md
index 5c35b80c..958cc27f 100644
--- a/apps/docs/public/guides/workflows.md
+++ b/apps/docs/public/guides/workflows.md
@@ -328,6 +328,13 @@
> Новый токен возвращается один раз. Self-путь (`POST /bot/recreate_token`) инвалидирует именно тот токен, которым выполнен запрос, — захвати новый токен из ответа в той же операции.
+**Найти и удалить бота**
+
+1. Пользовательским токеном (скоуп `bots:read`) получи список ботов, доступных тебе для редактирования: созданных тобой и тех, чьи настройки открывают тебе доступ. Фильтруй по имени параметром `query`, следующую страницу бери из `meta.paginate.next_page`
+2. Возьми `id` нужного бота из списка и удали его (скоуп `bots:write`). Доступно администратору, владельцу компании или создателю бота — владельцы чатов удалять бота не могут. Прежний токен инвалидируется сразу, бот исключается из всех чатов, его исходящий вебхук удаляется
+
+> Удаление необратимо: токен бота инвалидируется сразу, бот исключается из чатов. Событие фиксируется в журнале аудита как `bot_deleted`.
+
**Обработать входящий вебхук-событие**
1. Получи POST-запрос на свой Webhook URL
diff --git a/apps/docs/public/llms-en.txt b/apps/docs/public/llms-en.txt
index d963ee72..0b48236f 100644
--- a/apps/docs/public/llms-en.txt
+++ b/apps/docs/public/llms-en.txt
@@ -1091,9 +1091,13 @@ Allows a bot to generate a new `access_token` for itself using its own token —
Allows a bot to change its own outgoing webhook `URL` using its own token — without an administrator and without knowing its own `id`. The webhook of the bot that owns the token is changed. To disable the webhook, send an empty string in `outgoing_url`.
Body: { webhook: { outgoing_url* } }
+### GET /api/shared/v1/bots
+Retrieve a list of bots. The response includes only the bots you can edit: those you created and those whose settings grant you edit access.
+Parameters: query?, limit?, cursor?
+
### POST /api/shared/v1/bots
Creates a bot and returns its `access_token`. When the bot is created, you receive its `access_token` — save it right away. You can obtain the token again only through the interface (the "API" tab of the bot settings).
-Body: { webhook: { name*, nickname, outgoing_url, events, trigger_on, commands, scopes, template, template_engine, challenge_key, link_preview_enabled, ignore_self_messages, events_history_enabled } }
+Body: { webhook: { name*, nickname, outgoing_url, events, trigger_on, commands, scopes, template, template_engine, challenge_key, link_preview_enabled, ignore_self_messages, events_history_enabled, who_can_add, can_edit, single_chat } }
### GET /api/shared/v1/bots/{id}
Retrieves bot parameters by its `id`.
@@ -1102,10 +1106,14 @@ Parameters: id
### PUT /api/shared/v1/bots/{id}
Edit a bot's settings. To edit a bot you need to know its `id` and specify it in the request `URL`. All editable bot parameters are specified in the request body. You cannot edit a bot whose settings are not accessible to you (the "Who can edit bot settings" field is located on the "General" tab in the bot settings).
Parameters: id
-Body: { webhook: { name, nickname, outgoing_url, events, trigger_on, commands, scopes, template, template_engine, challenge_key, link_preview_enabled, ignore_self_messages, events_history_enabled } }
+Body: { webhook: { name, nickname, outgoing_url, events, trigger_on, commands, scopes, template, template_engine, challenge_key, link_preview_enabled, ignore_self_messages, events_history_enabled, who_can_add, can_edit } }
+
+### DELETE /api/shared/v1/bots/{id}
+Delete a bot. The bot's previous `access_token` is invalidated immediately, the bot is removed from all chats, and its outgoing webhook is deleted. Deletion is available to the bot creator, and to a company administrator if the bot's settings grant administrators edit access. Chat owners and admins cannot delete a bot, even if they are allowed to edit it. To delete a bot you need to know its `id` and specify it in the request `URL`.
+Parameters: id
### POST /api/shared/v1/bots/{id}/recreate_token
-Generates a new `access_token` for the bot and immediately invalidates the previous one. Use it when a token is compromised or for scheduled secret rotation in `CI`. Available to a company administrator, the company owner, or the bot creator. Specify the bot's `id` in the request `URL`. The new token is returned in the response only once — save it right away.
+Generates a new `access_token` for the bot and immediately invalidates the previous one. Use it when a token is compromised or for scheduled secret rotation in `CI`. Rotation is available to the bot creator, and to a company administrator if the bot's settings grant administrators edit access. Specify the bot's `id` in the request `URL`. The new token is returned in the response only once — save it right away.
Parameters: id
### GET /api/shared/v1/webhooks/events
diff --git a/apps/docs/public/llms-full.txt b/apps/docs/public/llms-full.txt
index f5bd468f..1ee4f2d2 100644
--- a/apps/docs/public/llms-full.txt
+++ b/apps/docs/public/llms-full.txt
@@ -16,7 +16,7 @@
|--------|--------|
| LIBRARY RULES — правила: auth, пагинация, лимиты, ошибки, SDK | 98–200 |
| How-to Guides — рецепты задач с кодом TS/Python | 201–884 |
-| Руководства — гайды: SDK, вебхуки, боты, формы, n8n, CLI | 885–11536 |
+| Руководства — гайды: SDK, вебхуки, боты, формы, n8n, CLI | 885–11634 |
| · Обзор | 890–992 |
| · Быстрый старт | 993–1082 |
| · AI агенты | 1083–1220 |
@@ -24,76 +24,76 @@
| · Markdown и документы | 1290–1346 |
| · Треды | 1347–1474 |
| · Боты | 1475–1537 |
-| · Создание и настройка | 1538–1664 |
-| · Доступы к чатам и сообщениям | 1665–1737 |
-| · Готовые примеры реализации | 1738–1772 |
-| · Входящие вебхуки | 1773–1924 |
-| · Исходящие вебхуки | 1925–1979 |
-| · Настройка и типы событий | 1980–2185 |
-| · Безопасность и обработчик | 2186–2376 |
-| · Поллинг | 2377–2560 |
-| · Кнопки в сообщениях | 2561–2716 |
-| · Формы | 2717–2786 |
-| · Блоки представления | 2787–3000 |
-| · Обработка форм | 3001–3140 |
-| · Разворачивание ссылок | 3141–3253 |
-| · Экспорт сообщений | 3254–3395 |
-| · DLP-система | 3396–3603 |
-| · Пачка Audit Events API | 3604–3678 |
-| · Форматирование текста | 3679–3759 |
-| · Сценарии | 3760–4265 |
-| · CLI | 4266–4359 |
-| · Установка | 4360–4452 |
-| · Авторизация | 4453–4526 |
-| · Вывод | 4527–4630 |
-| · Флаги и скрипты | 4631–4857 |
-| · Сценарии | 4858–4905 |
-| · Файлы | 4906–4940 |
-| · Прямые запросы | 4941–5051 |
-| · Команды | 5052–5191 |
-| · SDK и генератор | 5192–5277 |
-| · TypeScript | 5278–5697 |
-| · Python | 5698–6111 |
-| · Go | 6112–6550 |
-| · Kotlin | 6551–6981 |
-| · Swift | 6982–7381 |
-| · C# | 7382–7842 |
-| · n8n | 7843–7918 |
-| · Начало работы | 7919–8146 |
-| · Ресурсы и операции | 8147–8508 |
-| · Триггер | 8509–8760 |
-| · Тестирование | 8761–9034 |
-| · Примеры workflow | 9035–9250 |
-| · Продвинутые функции | 9251–9487 |
-| · Устранение ошибок | 9488–9667 |
-| · Миграция с v1 | 9668–9788 |
-| · Последние обновления | 9789–9798 |
-| · Обзор | 9799–9898 |
-| · Авторизация | 9899–10102 |
-| · Запросы и ответы | 10103–10293 |
-| · Пагинация | 10294–10530 |
-| · Загрузка файлов | 10531–10748 |
-| · Ошибки | 10749–10822 |
-| · Лимиты | 10823–10940 |
-| · Модели | 10941–11536 |
-| API-методы — все эндпоинты со схемами и примерами | 11537–28260 |
-| · OAuth | 11539–11638 |
-| · Chats | 11639–13246 |
-| · Profile | 13247–14150 |
-| · Users | 14151–16530 |
-| · Group tags | 16531–17878 |
-| · Members | 17879–19223 |
-| · Threads | 19224–19781 |
-| · Messages | 19782–21916 |
-| · Read members | 21917–22163 |
-| · Reactions | 22164–22810 |
-| · Search | 22811–23623 |
-| · Tasks | 23624–24913 |
-| · Views | 24914–25476 |
-| · Bots | 25477–27488 |
-| · Security | 27489–27807 |
-| · Custom Properties | 27808–28017 |
-| · Files | 28018–28260 |
+| · Создание и настройка | 1538–1673 |
+| · Доступы к чатам и сообщениям | 1674–1746 |
+| · Готовые примеры реализации | 1747–1781 |
+| · Входящие вебхуки | 1782–1933 |
+| · Исходящие вебхуки | 1934–1988 |
+| · Настройка и типы событий | 1989–2229 |
+| · Безопасность и обработчик | 2230–2420 |
+| · Поллинг | 2421–2604 |
+| · Кнопки в сообщениях | 2605–2760 |
+| · Формы | 2761–2830 |
+| · Блоки представления | 2831–3044 |
+| · Обработка форм | 3045–3184 |
+| · Разворачивание ссылок | 3185–3297 |
+| · Экспорт сообщений | 3298–3439 |
+| · DLP-система | 3440–3647 |
+| · Пачка Audit Events API | 3648–3722 |
+| · Форматирование текста | 3723–3803 |
+| · Сценарии | 3804–4316 |
+| · CLI | 4317–4410 |
+| · Установка | 4411–4503 |
+| · Авторизация | 4504–4577 |
+| · Вывод | 4578–4681 |
+| · Флаги и скрипты | 4682–4908 |
+| · Сценарии | 4909–4956 |
+| · Файлы | 4957–4991 |
+| · Прямые запросы | 4992–5102 |
+| · Команды | 5103–5244 |
+| · SDK и генератор | 5245–5330 |
+| · TypeScript | 5331–5752 |
+| · Python | 5753–6168 |
+| · Go | 6169–6609 |
+| · Kotlin | 6610–7042 |
+| · Swift | 7043–7444 |
+| · C# | 7445–7907 |
+| · n8n | 7908–7983 |
+| · Начало работы | 7984–8211 |
+| · Ресурсы и операции | 8212–8575 |
+| · Триггер | 8576–8827 |
+| · Тестирование | 8828–9101 |
+| · Примеры workflow | 9102–9317 |
+| · Продвинутые функции | 9318–9554 |
+| · Устранение ошибок | 9555–9734 |
+| · Миграция с v1 | 9735–9855 |
+| · Последние обновления | 9856–9865 |
+| · Обзор | 9866–9965 |
+| · Авторизация | 9966–10169 |
+| · Запросы и ответы | 10170–10360 |
+| · Пагинация | 10361–10597 |
+| · Загрузка файлов | 10598–10815 |
+| · Ошибки | 10816–10889 |
+| · Лимиты | 10890–11007 |
+| · Модели | 11008–11634 |
+| API-методы — все эндпоинты со схемами и примерами | 11635–28826 |
+| · OAuth | 11637–11736 |
+| · Chats | 11737–13344 |
+| · Profile | 13345–14248 |
+| · Users | 14249–16628 |
+| · Group tags | 16629–17976 |
+| · Members | 17977–19321 |
+| · Threads | 19322–19879 |
+| · Messages | 19880–22014 |
+| · Read members | 22015–22261 |
+| · Reactions | 22262–22908 |
+| · Search | 22909–23721 |
+| · Tasks | 23722–25011 |
+| · Views | 25012–25574 |
+| · Bots | 25575–28054 |
+| · Security | 28055–28373 |
+| · Custom Properties | 28374–28583 |
+| · Files | 28584–28826 |
# LIBRARY RULES
@@ -1590,6 +1590,8 @@ pachca messages create \
Передайте параметры бота в объекте `bot.webhook`: имя, никнейм, Webhook URL, список событий и команды. Никнейм должен заканчиваться на `_bot`.
+Тип бота — в один или несколько чатов — задаётся полем `single_chat` и только при создании: изменить его потом нельзя, как и тип бота в интерфейсе. Ограничение «в один чат» распространяется только на беседы и каналы, треды и личные сообщения не в счёт.
+
### Шаг 2. Сохраните access_token
@@ -1630,6 +1632,13 @@ pachca messages create \
- **Все участники (кроме гостей)**
- **Публичный бот**
+### Настройка через API
+
+Эти доступы можно задать не только в интерфейсе, но и через API — методом [Редактирование бота](PUT /bots/{id}) или сразу при создании:
+
+- **Кто может редактировать настройки бота** — поле `can_edit` (роли `admin` и `chat_owners`). Создатель имеет доступ всегда, поэтому в поле перечисляются только дополнительные роли, а пустой массив означает «только создатель»
+- **Кто может добавлять бота в чаты** — поле `who_can_add` (`creator`, `creator_admin`, `creator_admin_user`, `anyone`)
+
## Настройка вебхуков и API

@@ -2171,6 +2180,41 @@ Liquid также поддерживает:
> Payload содержит обнаруженные ссылки. Полное сообщение получите методом [Информация о сообщении](GET /messages/{id}) по `message_id`.
+## Видеозвонки
+
+Вебхук отправляется для видеозвонков в чатах, где состоит бот, и в тредах этих чатов. Поле `event` в payload различает три события: `started` (звонок начался), `finished` (звонок завершился) и `recording_ready` (запись готова). Набор полей payload зависит от события.
+
+#### VideoCallWebhookPayload
+
+- `type: string` (required) — Тип объекта. Пример: `"video_call"`
+ Значения: `video_call` — Для видеозвонков всегда video_call
+- `event: string` (required) — Тип события
+ Значения: `started` — Видеозвонок начался, `finished` — Видеозвонок завершился, `recording_ready` — Запись видеозвонка готова
+- `video_room_id: integer, int32` (required) — Идентификатор видеозвонка. Пример: `9012`
+- `chat_id: integer, int32` (required) — Идентификатор чата, в котором проходит видеозвонок. Пример: `23438`
+- `owner_id: integer, int32` (required) — Идентификатор пользователя, начавшего видеозвонок. Пример: `2345`
+- `thread: object` — Объект с параметрами треда, если видеозвонок проходит в треде. `null`, если звонок не в треде.
+ - `id: integer, int32` (required) — Идентификатор треда. Пример: `12345`
+ - `chat_id: integer, int32` (required) — Идентификатор чата треда. Пример: `67890`
+ - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому создан тред. Пример: `268092`
+ - `message_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому создан тред. Пример: `23438`
+- `started_at: date-time` — Дата и время начала звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для событий started и finished.. Пример: `"2025-05-15T14:30:00.000Z"`
+- `finished_at: date-time` — Дата и время завершения звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для события finished.. Пример: `"2025-05-15T14:45:00.000Z"`
+- `duration: integer, int32` — Длительность в секундах. Для события finished — длительность звонка, для recording_ready — длительность записи.. Пример: `900`
+- `members: array of object` — Список участников звонка. Присутствует для события finished.
+ - `user_id: integer, int32` (required) — Идентификатор участника. Пример: `2345`
+ - `joined_at: date-time` (required) — Дата и время первого подключения к звонку (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `left_at: date-time` (required) — Дата и время выхода из звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Если участник оставался в звонке до его завершения, совпадает с временем окончания звонка.. Пример: `"2025-05-15T14:45:00.000Z"`
+- `recording_id: integer, int32` — Идентификатор записи. Присутствует для события recording_ready.. Пример: `4567`
+- `file_id: integer, int32` — Идентификатор файла записи. Присутствует для события recording_ready. `null`, если файл ещё не привязан.. Пример: `89012`
+- `url: string` — Прямая ссылка на файл записи. Присутствует для события recording_ready.. Пример: `"https://api.pachca.com/files/89012"`
+- `size: integer, int32` — Размер файла записи в байтах. Присутствует для события recording_ready.. Пример: `10485760`
+- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
+
+
+> Для события `finished` payload содержит список участников с временем подключения и выхода, для `recording_ready` — ссылку на файл записи, её размер и длительность. Полные данные участников получите методом [Информация о сотруднике](GET /users/{id}) по каждому `user_id`, а чат — методом [Информация о чате](GET /chats/{id}) по `chat_id`.
+
+
## Связанные разделы
@@ -4083,6 +4127,13 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T00
> Новый токен возвращается один раз. Self-путь (`POST /bot/recreate_token`) инвалидирует именно тот токен, которым выполнен запрос, — захвати новый токен из ответа в той же операции.
+**Найти и удалить бота**
+
+1. Пользовательским токеном (скоуп `bots:read`) получи список ботов, доступных тебе для редактирования: созданных тобой и тех, чьи настройки открывают тебе доступ. Фильтруй по имени параметром `query`, следующую страницу бери из `meta.paginate.next_page`
+2. Возьми `id` нужного бота из списка и удали его (скоуп `bots:write`). Доступно администратору, владельцу компании или создателю бота — владельцы чатов удалять бота не могут. Прежний токен инвалидируется сразу, бот исключается из всех чатов, его исходящий вебхук удаляется
+
+> Удаление необратимо: токен бота инвалидируется сразу, бот исключается из чатов. Событие фиксируется в журнале аудита как `bot_deleted`.
+
**Обработать входящий вебхук-событие**
1. Получи POST-запрос на свой Webhook URL
@@ -4418,7 +4469,7 @@ pachca doctor
# ✔ Конфиг ~/.config/pachca/config.toml (права: 600)
# ✔ Профиль personal (user: Иван Иванов)
# ✔ Токен действителен (11 скоупов)
-# ✔ CLI v2026.6.3 (актуальная версия)
+# ✔ CLI v2026.7.0 (актуальная версия)
```
## Обновление
@@ -5076,7 +5127,9 @@ dev.pachca.com/api/members/add → pachca members add
| `pachca auth status` | Статус текущего профиля |
| `pachca auth switch` | Переключение активного профиля |
| `pachca bots create` | `POST` Новый бот |
+| `pachca bots delete` | `DELETE` Удаление бота |
| `pachca bots get` | `GET` Информация о боте |
+| `pachca bots list` | `GET` Список ботов |
| `pachca bots list-events` | `GET` История событий |
| `pachca bots recreate-token` | `POST` Ротация токена бота |
| `pachca bots recreate-token-self` | `POST` Ротация собственного токена бота |
@@ -5400,10 +5453,12 @@ const client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.com/ap
| `client.bots.createBot()` | [Новый бот](/api/bots/create) |
| `client.bots.selfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.listBots()` | [Список ботов](/api/bots/list) |
| `client.bots.getBot()` | [Информация о боте](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.selfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.deleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.security.getAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.customProperties.listProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
@@ -5827,10 +5882,12 @@ await client.close()
| `client.bots.create_bot()` | [Новый бот](/api/bots/create) |
| `client.bots.self_recreate_bot_token()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreate_bot_token()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.list_bots()` | [Список ботов](/api/bots/list) |
| `client.bots.get_bot()` | [Информация о боте](/api/bots/get) |
| `client.bots.get_webhook_events()` | [История событий](/api/bots/list-events) |
| `client.bots.self_update_bot_webhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.update_bot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.delete_bot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.delete_webhook_event()` | [Удаление события](/api/bots/remove-event) |
| `client.security.get_audit_events()` | [Журнал аудита событий](/api/security/list) |
| `client.custom_properties.list_properties()` | [Список дополнительных полей](/api/custom-properties/list) |
@@ -6243,10 +6300,12 @@ user, err := client.Profile.GetProfile(ctx)
| `client.Bots.CreateBot()` | [Новый бот](/api/bots/create) |
| `client.Bots.SelfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.Bots.RecreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.Bots.ListBots()` | [Список ботов](/api/bots/list) |
| `client.Bots.GetBot()` | [Информация о боте](/api/bots/get) |
| `client.Bots.GetWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.Bots.SelfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.Bots.UpdateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.Bots.DeleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.Bots.DeleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.Security.GetAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.CustomProperties.ListProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
@@ -6690,10 +6749,12 @@ client.close()
| `client.bots.createBot()` | [Новый бот](/api/bots/create) |
| `client.bots.selfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.listBots()` | [Список ботов](/api/bots/list) |
| `client.bots.getBot()` | [Информация о боте](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.selfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.deleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.security.getAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.customProperties.listProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
@@ -7112,10 +7173,12 @@ let client = PachcaClient(token: "YOUR_TOKEN", baseURL: "https://custom-api.exam
| `client.bots.createBot()` | [Новый бот](/api/bots/create) |
| `client.bots.selfRecreateBotToken()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.bots.recreateBotToken()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.bots.listBots()` | [Список ботов](/api/bots/list) |
| `client.bots.getBot()` | [Информация о боте](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.selfUpdateBotWebhook()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
+| `client.bots.deleteBot()` | [Удаление бота](/api/bots/delete) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
| `client.security.getAuditEvents()` | [Журнал аудита событий](/api/security/list) |
| `client.customProperties.listProperties()` | [Список дополнительных полей](/api/custom-properties/list) |
@@ -7506,10 +7569,12 @@ using var client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.co
| `client.Bots.CreateBotAsync()` | [Новый бот](/api/bots/create) |
| `client.Bots.SelfRecreateBotTokenAsync()` | [Ротация собственного токена бота](/api/bots/recreate-token-self) |
| `client.Bots.RecreateBotTokenAsync()` | [Ротация токена бота](/api/bots/recreate-token) |
+| `client.Bots.ListBotsAsync()` | [Список ботов](/api/bots/list) |
| `client.Bots.GetBotAsync()` | [Информация о боте](/api/bots/get) |
| `client.Bots.GetWebhookEventsAsync()` | [История событий](/api/bots/list-events) |
| `client.Bots.SelfUpdateBotWebhookAsync()` | [Саморегистрация вебхука бота](/api/bots/update-webhook) |
| `client.Bots.UpdateBotAsync()` | [Редактирование бота](/api/bots/update) |
+| `client.Bots.DeleteBotAsync()` | [Удаление бота](/api/bots/delete) |
| `client.Bots.DeleteWebhookEventAsync()` | [Удаление события](/api/bots/remove-event) |
| `client.Security.GetAuditEventsAsync()` | [Журнал аудита событий](/api/security/list) |
| `client.CustomProperties.ListPropertiesAsync()` | [Список дополнительных полей](/api/custom-properties/list) |
@@ -8174,7 +8239,7 @@ Workflow — визуальный редактор, в котором выстр
| 8 | [Profile](#profile) | 6 | Мой профиль: информация, аватар, статус | |
| 9 | [OAuth](#oauth) | 1 | Информация о токене | да |
| 10 | [Task](#task) | 5 | Задачи: полный CRUD | |
-| 11 | [Bot](#bot) | 8 | Боты: создание, получение, редактирование, вебхук, ротация токена, события | |
+| 11 | [Bot](#bot) | 10 | Боты: создание, получение, список, редактирование, удаление, вебхук, ротация токена, события | |
| 12 | [File](#file) | 1 | Загрузка файлов через S3 | |
| 13 | [Form](#form) | 1 | Модальные формы | |
| 14 | [Custom Property](#custom-property) | 1 | Дополнительные поля | да |
@@ -8356,13 +8421,15 @@ Workflow — визуальный редактор, в котором выстр
## Bot
-Боты: создание, получение, редактирование, саморегистрация вебхука, ротация токена, история и удаление событий.
+Боты: создание, получение, список, редактирование, удаление, саморегистрация вебхука, ротация токена, история и удаление событий.
| Операция | API |
|----------|-----|
| Create | [Новый бот](POST /bots) |
| Get | [Информация о боте](GET /bots/{id}) |
+| Get Many | [Список ботов](GET /bots) |
| Update | [Редактирование бота](PUT /bots/{id}) |
+| Delete | [Удаление бота](DELETE /bots/{id}) |
| Update Webhook | [Саморегистрация вебхука бота](PUT /bot/webhook) |
| Recreate Token | [Ротация токена бота](POST /bots/{id}/recreate_token) |
| Recreate Token Self | [Ротация собственного токена бота](POST /bot/recreate_token) |
@@ -11330,8 +11397,10 @@ users = await with_retry(lambda: client.users.list_users())
## Параметры бота
- [Новый бот](POST /bots)
+- [Список ботов](GET /bots)
- [Информация о боте](GET /bots/{id})
- [Редактирование бота](PUT /bots/{id})
+- [Удаление бота](DELETE /bots/{id})
- [Саморегистрация вебхука бота](PUT /bot/webhook)
- [Ротация токена бота](POST /bots/{id}/recreate_token)
- [Ротация собственного токена бота](POST /bot/recreate_token)
@@ -11355,6 +11424,10 @@ users = await with_retry(lambda: client.users.list_users())
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
## Событие исходящего вебхука
@@ -11456,6 +11529,31 @@ users = await with_retry(lambda: client.users.list_users())
- `user_id: integer, int32` (required) — Идентификатор отправителя сообщения. Пример: `2345`
- `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2024-09-18T19:53:14.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1726685594`
+ - **VideoCallWebhookPayload**: Структура исходящего вебхука о видеозвонке
+ - `type: string` (required) — Тип объекта. Пример: `"video_call"`
+ Значения: `video_call` — Для видеозвонков всегда video_call
+ - `event: string` (required) — Тип события
+ Значения: `started` — Видеозвонок начался, `finished` — Видеозвонок завершился, `recording_ready` — Запись видеозвонка готова
+ - `video_room_id: integer, int32` (required) — Идентификатор видеозвонка. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором проходит видеозвонок. Пример: `23438`
+ - `owner_id: integer, int32` (required) — Идентификатор пользователя, начавшего видеозвонок. Пример: `2345`
+ - `thread: object` — Объект с параметрами треда, если видеозвонок проходит в треде. `null`, если звонок не в треде.
+ - `id: integer, int32` (required) — Идентификатор треда. Пример: `12345`
+ - `chat_id: integer, int32` (required) — Идентификатор чата треда. Пример: `67890`
+ - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому создан тред. Пример: `268092`
+ - `message_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому создан тред. Пример: `23438`
+ - `started_at: date-time` — Дата и время начала звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для событий started и finished.. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `finished_at: date-time` — Дата и время завершения звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для события finished.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `duration: integer, int32` — Длительность в секундах. Для события finished — длительность звонка, для recording_ready — длительность записи.. Пример: `900`
+ - `members: array of object` — Список участников звонка. Присутствует для события finished.
+ - `user_id: integer, int32` (required) — Идентификатор участника. Пример: `2345`
+ - `joined_at: date-time` (required) — Дата и время первого подключения к звонку (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `left_at: date-time` (required) — Дата и время выхода из звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Если участник оставался в звонке до его завершения, совпадает с временем окончания звонка.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `recording_id: integer, int32` — Идентификатор записи. Присутствует для события recording_ready.. Пример: `4567`
+ - `file_id: integer, int32` — Идентификатор файла записи. Присутствует для события recording_ready. `null`, если файл ещё не привязан.. Пример: `89012`
+ - `url: string` — Прямая ссылка на файл записи. Присутствует для события recording_ready.. Пример: `"https://api.pachca.com/files/89012"`
+ - `size: integer, int32` — Размер файла записи в байтах. Присутствует для события recording_ready.. Пример: `10485760`
+ - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
@@ -11468,7 +11566,7 @@ users = await with_retry(lambda: client.users.list_users())
- `id: string` (required) — Уникальный идентификатор события. Пример: `"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14"`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
- `event_key: string` (required) — Ключ типа события
- Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация)
+ Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация), `bot_deleted` — Бот удалён
- `entity_id: string` (required) — Идентификатор затронутой сущности. Пример: `"98765"`
- `entity_type: string` (required) — Тип затронутой сущности. Пример: `"User"`
- `actor_id: string` (required) — Идентификатор пользователя, выполнившего действие. Пример: `"98765"`
@@ -11476,7 +11574,7 @@ users = await with_retry(lambda: client.users.list_users())
- `details: anyOf` (required) — Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект
**Возможные варианты:**
- - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated
+ - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated, bot_deleted
- **AuditDetailsUserUpdated**: При: user_updated
- `changed_attrs: array of string` (required) — Список изменённых полей
- **AuditDetailsRoleChanged**: При: user_role_changed
@@ -23364,7 +23462,7 @@ response = await client.search.search_messages(params=params)
- `limit: integer, int32` (default: 200) — Количество возвращаемых результатов за один запрос
- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)
- `sort: string` — Сортировка результатов
- Значения: `by_score`, `alphabetical`
+ Значения: `by_score`, `alphabetical`, `creation`
- `order: string` — Направление сортировки
Значения: `asc`, `desc`
- `created_from: date-time` — Фильтр по дате создания (от)
@@ -25521,6 +25619,10 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bot/recreate_token" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
- `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
**Пример ответа:**
@@ -25548,7 +25650,12 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bot/recreate_token" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
},
"access_token": "bm90X2FfcmVhbF90b2tlbg"
}
@@ -25658,7 +25765,7 @@ import { PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
const response = client.bots.selfRecreateBotToken()
-// → BotCreateResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean }), accessToken: string })
+// → BotCreateResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean, singleChat: boolean, canEdit: BotCanEdit[], whoCanAdd: BotWhoCanAdd }), accessToken: string })
```
### Python
@@ -25669,7 +25776,7 @@ from pachca.client import PachcaClient
client = PachcaClient("YOUR_TOKEN")
response = await client.bots.self_recreate_bot_token()
-# → BotCreateResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool), access_token: str)
+# → BotCreateResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool, single_chat: bool, can_edit: list[BotCanEdit], who_can_add: BotWhoCanAdd), access_token: str)
```
---
@@ -25744,6 +25851,10 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bot/webhook" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
**Пример ответа:**
@@ -25770,7 +25881,12 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bot/webhook" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
}
}
}
@@ -25910,7 +26026,7 @@ const client = new PachcaClient("YOUR_TOKEN")
const request: BotWebhookSelfUpdateRequest = { webhook: { outgoingUrl: "https://www.website.com/tasks/new" } }
const response = client.bots.selfUpdateBotWebhook(request)
-// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean }) })
+// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean, singleChat: boolean, canEdit: BotCanEdit[], whoCanAdd: BotWhoCanAdd }) })
```
### Python
@@ -25923,7 +26039,216 @@ client = PachcaClient("YOUR_TOKEN")
request = BotWebhookSelfUpdateRequest(webhook=BotWebhookSelfUpdateRequestWebhook(outgoing_url="https://www.website.com/tasks/new"))
response = await client.bots.self_update_bot_webhook(request=request)
-# → BotResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool))
+# → BotResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool, single_chat: bool, can_edit: list[BotCanEdit], who_can_add: BotWhoCanAdd))
+```
+
+---
+
+--- [Document source](https://dev.pachca.com/api/bots/list.md) ---
+
+# Список ботов
+
+**Метод**: `GET`
+
+**Путь**: `/bots`
+
+> **Скоуп:** `bots:read`
+
+Метод для получения списка ботов. Возвращаются только боты, доступные вам для редактирования: созданные вами и те, чьи настройки открывают вам доступ к редактированию.
+
+## Параметры
+
+### Query параметры
+
+- `query: string` — Поисковая фраза для фильтрации ботов по имени
+- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос
+- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)
+
+
+## Пример запроса
+
+```bash
+# Для получения следующей страницы используйте cursor из meta.paginate.next_page
+curl "https://api.pachca.com/api/shared/v1/bots?query=задач&limit=1" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
+```
+
+## Ответы
+
+### 200: The request has succeeded.
+
+**Схема ответа:**
+
+- `data: array of object` (required)
+ - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`
+ - `webhook: object` (required) — Объект параметров вебхука
+ - `name: string` (required) — Имя бота. Пример: `"Бот задач"`
+ - `nickname: string` (required) — Никнейм бота. Пример: `"tasks_bot"`
+ - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `events: array of string` (required) — События, на которые подписан бот. Пример: `["message_new"]`
+ - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука
+ Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)
+ - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `["/task"]`
+ - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `["messages:create"]`
+ - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `"Заказ от {{ client }} на сумму {{ amount }} ₽"`
+ - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука
+ Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики
+ - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `"challenge"`
+ - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
+ - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
+ - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
+- `meta: object` (required) — Метаданные пагинации
+ - `paginate: object` (required) — Вспомогательная информация
+ - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `"eyJxZCO2MiwiZGlyIjomSNYjIn3"`
+ - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `"eyJxZCO2MiwiZGlyIjoiYXNjIn0"`
+ - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`
+ - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`
+
+**Пример ответа:**
+
+```json
+{
+ "data": [
+ {
+ "id": 1738816,
+ "webhook": {
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task"
+ ],
+ "scopes": [
+ "messages:create"
+ ],
+ "template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
+ "template_engine": "liquid",
+ "challenge_key": "challenge",
+ "link_preview_enabled": true,
+ "ignore_self_messages": false,
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
+ }
+ }
+ ],
+ "meta": {
+ "paginate": {
+ "next_page": "eyJxZCO2MiwiZGlyIjomSNYjIn3",
+ "prev_page": "eyJxZCO2MiwiZGlyIjoiYXNjIn0",
+ "has_next": true,
+ "has_prev": false
+ }
+ }
+}
+```
+
+### 401: Access is unauthorized.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
+### 402: Client error
+
+**Схема ответа при ошибке:**
+
+- `errors: array of object` (required) — Массив ошибок
+ - `key: string` (required) — Ключ поля с ошибкой. Пример: `"field.name"`
+ - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `"invalid_value"`
+ - `message: string` (required) — Сообщение об ошибке. Пример: `"Поле не может быть пустым"`
+ - `code: string` (required) — Код ошибки
+ Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде
+ - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`
+ **Структура значений Record:**
+ - Тип значения: `any`
+
+**Пример ответа:**
+
+```json
+{
+ "errors": [
+ {
+ "key": "field.name",
+ "value": "invalid_value",
+ "message": "Поле не может быть пустым",
+ "code": "blank",
+ "payload": null
+ }
+ ]
+}
+```
+
+### 403: Access is forbidden.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
+
+## SDK примеры
+
+### TypeScript
+
+```typescript
+import { PachcaClient } from "@pachca/sdk"
+
+const client = new PachcaClient("YOUR_TOKEN")
+
+const response = client.bots.listBots({
+ query: "задач",
+ limit: 1,
+ cursor: "eyJpZCI6MTczODgxNn0"
+})
+// → ListBotsResponse({ data: BotResponse[], meta: PaginationMeta })
+```
+
+### Python
+
+```python
+from pachca.client import PachcaClient
+from pachca.models import ListBotsParams
+
+client = PachcaClient("YOUR_TOKEN")
+
+params = ListBotsParams(
+ query="задач",
+ limit=1,
+ cursor="eyJpZCI6MTczODgxNn0"
+)
+response = await client.bots.list_bots(params=params)
+# → ListBotsResponse(data: list[BotResponse], meta: PaginationMeta)
```
---
@@ -25966,6 +26291,10 @@ response = await client.bots.self_update_bot_webhook(request=request)
- `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `who_can_add: string` — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
+ - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `single_chat: boolean` (default: false) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется.. Пример: `false`
### Пример
@@ -25986,7 +26315,10 @@ response = await client.bots.self_update_bot_webhook(request=request)
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}
```
@@ -26013,7 +26345,10 @@ curl "https://api.pachca.com/api/shared/v1/bots" \
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}'
```
@@ -26042,6 +26377,10 @@ curl "https://api.pachca.com/api/shared/v1/bots" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
- `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
**Пример ответа:**
@@ -26069,7 +26408,12 @@ curl "https://api.pachca.com/api/shared/v1/bots" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
},
"access_token": "bm90X2FfcmVhbF90b2tlbg"
}
@@ -26174,7 +26518,7 @@ curl "https://api.pachca.com/api/shared/v1/bots" \
### TypeScript
```typescript
-import { BotCreateRequest, BotCreateRequestWebhook, BotEventName, BotTemplateEngine, BotTriggerOn, PachcaClient } from "@pachca/sdk"
+import { BotCanEdit, BotCreateRequest, BotCreateRequestWebhook, BotEventName, BotTemplateEngine, BotTriggerOn, BotWhoCanAdd, PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
@@ -26192,18 +26536,21 @@ const request: BotCreateRequest = {
challengeKey: "challenge",
linkPreviewEnabled: true,
ignoreSelfMessages: false,
- eventsHistoryEnabled: false
+ eventsHistoryEnabled: false,
+ whoCanAdd: BotWhoCanAdd.Creator,
+ canEdit: [BotCanEdit.Admin],
+ singleChat: false
}
}
const response = client.bots.createBot(request)
-// → BotCreateResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean }), accessToken: string })
+// → BotCreateResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean, singleChat: boolean, canEdit: BotCanEdit[], whoCanAdd: BotWhoCanAdd }), accessToken: string })
```
### Python
```python
from pachca.client import PachcaClient
-from pachca.models import BotCreateRequest, BotCreateRequestWebhook, BotEventName, BotTemplateEngine, BotTriggerOn
+from pachca.models import BotCanEdit, BotCreateRequest, BotCreateRequestWebhook, BotEventName, BotTemplateEngine, BotTriggerOn, BotWhoCanAdd
client = PachcaClient("YOUR_TOKEN")
@@ -26221,11 +26568,14 @@ request = BotCreateRequest(
challenge_key="challenge",
link_preview_enabled=True,
ignore_self_messages=False,
- events_history_enabled=False
+ events_history_enabled=False,
+ who_can_add=BotWhoCanAdd.CREATOR,
+ can_edit=[BotCanEdit.ADMIN],
+ single_chat=False
)
)
response = await client.bots.create_bot(request=request)
-# → BotCreateResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool), access_token: str)
+# → BotCreateResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool, single_chat: bool, can_edit: list[BotCanEdit], who_can_add: BotWhoCanAdd), access_token: str)
```
---
@@ -26280,6 +26630,10 @@ curl "https://api.pachca.com/api/shared/v1/bots/1738816" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
**Пример ответа:**
@@ -26306,7 +26660,12 @@ curl "https://api.pachca.com/api/shared/v1/bots/1738816" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
}
}
}
@@ -26415,7 +26774,7 @@ import { PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
const response = client.bots.getBot(1738816)
-// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean }) })
+// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean, singleChat: boolean, canEdit: BotCanEdit[], whoCanAdd: BotWhoCanAdd }) })
```
### Python
@@ -26426,7 +26785,7 @@ from pachca.client import PachcaClient
client = PachcaClient("YOUR_TOKEN")
response = await client.bots.get_bot(id=1738816)
-# → BotResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool))
+# → BotResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool, single_chat: bool, can_edit: list[BotCanEdit], who_can_add: BotWhoCanAdd))
```
---
@@ -26478,6 +26837,9 @@ response = await client.bots.get_bot(id=1738816)
- `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `who_can_add: string` — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
+ - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
### Пример
@@ -26498,7 +26860,10 @@ response = await client.bots.get_bot(id=1738816)
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}
```
@@ -26525,7 +26890,10 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
"messages:create"
],
"template": "Заказ от {{ client }} на сумму {{ amount }} ₽",
- "challenge_key": "challenge"
+ "challenge_key": "challenge",
+ "can_edit": [
+ "admin"
+ ]
}
}'
```
@@ -26554,6 +26922,10 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
**Пример ответа:**
@@ -26580,7 +26952,12 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
}
}
}
@@ -26744,7 +27121,7 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
### TypeScript
```typescript
-import { BotEventName, BotTemplateEngine, BotTriggerOn, BotUpdateRequest, BotUpdateRequestWebhook, PachcaClient } from "@pachca/sdk"
+import { BotCanEdit, BotEventName, BotTemplateEngine, BotTriggerOn, BotUpdateRequest, BotUpdateRequestWebhook, BotWhoCanAdd, PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
@@ -26762,18 +27139,20 @@ const request: BotUpdateRequest = {
challengeKey: "challenge",
linkPreviewEnabled: true,
ignoreSelfMessages: false,
- eventsHistoryEnabled: false
+ eventsHistoryEnabled: false,
+ whoCanAdd: BotWhoCanAdd.Creator,
+ canEdit: [BotCanEdit.Admin]
}
}
const response = client.bots.updateBot(1738816, request)
-// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean }) })
+// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean, singleChat: boolean, canEdit: BotCanEdit[], whoCanAdd: BotWhoCanAdd }) })
```
### Python
```python
from pachca.client import PachcaClient
-from pachca.models import BotEventName, BotTemplateEngine, BotTriggerOn, BotUpdateRequest, BotUpdateRequestWebhook
+from pachca.models import BotCanEdit, BotEventName, BotTemplateEngine, BotTriggerOn, BotUpdateRequest, BotUpdateRequestWebhook, BotWhoCanAdd
client = PachcaClient("YOUR_TOKEN")
@@ -26791,11 +27170,164 @@ request = BotUpdateRequest(
challenge_key="challenge",
link_preview_enabled=True,
ignore_self_messages=False,
- events_history_enabled=False
+ events_history_enabled=False,
+ who_can_add=BotWhoCanAdd.CREATOR,
+ can_edit=[BotCanEdit.ADMIN]
)
)
response = await client.bots.update_bot(id=1738816, request=request)
-# → BotResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool))
+# → BotResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool, single_chat: bool, can_edit: list[BotCanEdit], who_can_add: BotWhoCanAdd))
+```
+
+---
+
+--- [Document source](https://dev.pachca.com/api/bots/delete.md) ---
+
+# Удаление бота
+
+**Метод**: `DELETE`
+
+**Путь**: `/bots/{id}`
+
+> **Скоуп:** `bots:write`
+
+Метод для удаления бота. Прежний `access_token` бота сразу инвалидируется, бот исключается из всех чатов, его исходящий вебхук удаляется.
+
+Удаление доступно создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Владельцы и администраторы чатов удалять бота не могут, даже если им разрешено его редактировать.
+
+Для удаления бота вам необходимо знать его `id` и указать его в `URL` запроса.
+
+## Параметры
+
+### Path параметры
+
+- `id: integer, int32` (required) — Идентификатор бота
+
+
+## Пример запроса
+
+```bash
+curl -X DELETE "https://api.pachca.com/api/shared/v1/bots/1738816" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
+```
+
+## Ответы
+
+### 204: There is no content to send for this request, but the headers may be useful.
+
+### 401: Access is unauthorized.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
+### 402: Client error
+
+**Схема ответа при ошибке:**
+
+- `errors: array of object` (required) — Массив ошибок
+ - `key: string` (required) — Ключ поля с ошибкой. Пример: `"field.name"`
+ - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `"invalid_value"`
+ - `message: string` (required) — Сообщение об ошибке. Пример: `"Поле не может быть пустым"`
+ - `code: string` (required) — Код ошибки
+ Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде
+ - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`
+ **Структура значений Record:**
+ - Тип значения: `any`
+
+**Пример ответа:**
+
+```json
+{
+ "errors": [
+ {
+ "key": "field.name",
+ "value": "invalid_value",
+ "message": "Поле не может быть пустым",
+ "code": "blank",
+ "payload": null
+ }
+ ]
+}
+```
+
+### 403: Access is forbidden.
+
+**Схема ответа при ошибке:**
+
+- `error: string` (required) — Код ошибки. Пример: `"invalid_token"`
+- `error_description: string` (required) — Описание ошибки. Пример: `"Access token is missing"`
+
+**Пример ответа:**
+
+```json
+{
+ "error": "invalid_token",
+ "error_description": "Access token is missing"
+}
+```
+
+### 404: The server cannot find the requested resource.
+
+**Схема ответа при ошибке:**
+
+- `errors: array of object` (required) — Массив ошибок
+ - `key: string` (required) — Ключ поля с ошибкой. Пример: `"field.name"`
+ - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `"invalid_value"`
+ - `message: string` (required) — Сообщение об ошибке. Пример: `"Поле не может быть пустым"`
+ - `code: string` (required) — Код ошибки
+ Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде
+ - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`
+ **Структура значений Record:**
+ - Тип значения: `any`
+
+**Пример ответа:**
+
+```json
+{
+ "errors": [
+ {
+ "key": "field.name",
+ "value": "invalid_value",
+ "message": "Поле не может быть пустым",
+ "code": "blank",
+ "payload": null
+ }
+ ]
+}
+```
+
+
+## SDK примеры
+
+### TypeScript
+
+```typescript
+import { PachcaClient } from "@pachca/sdk"
+
+const client = new PachcaClient("YOUR_TOKEN")
+
+client.bots.deleteBot(1738816)
+```
+
+### Python
+
+```python
+from pachca.client import PachcaClient
+
+client = PachcaClient("YOUR_TOKEN")
+
+await client.bots.delete_bot(id=1738816)
```
---
@@ -26812,7 +27344,7 @@ response = await client.bots.update_bot(id=1738816, request=request)
Метод генерирует боту новый `access_token` и сразу инвалидирует прежний. Используйте его при компрометации токена или плановой ротации секрета в `CI`.
-Доступен администратору, владельцу компании или создателю бота. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.
+Ротация доступна создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.
## Параметры
@@ -26852,6 +27384,10 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bots/1738816/recreate_token"
- `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`
- `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`
- `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`
+ - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`
+ - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `["admin"]`
+ - `who_can_add: string` (required) — Кто может добавлять бота в чаты
+ Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости
- `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
**Пример ответа:**
@@ -26879,7 +27415,12 @@ curl -X POST "https://api.pachca.com/api/shared/v1/bots/1738816/recreate_token"
"challenge_key": "challenge",
"link_preview_enabled": true,
"ignore_self_messages": false,
- "events_history_enabled": false
+ "events_history_enabled": false,
+ "single_chat": false,
+ "can_edit": [
+ "admin"
+ ],
+ "who_can_add": "creator"
},
"access_token": "bm90X2FfcmVhbF90b2tlbg"
}
@@ -26989,7 +27530,7 @@ import { PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
const response = client.bots.recreateBotToken(1738816)
-// → BotCreateResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean }), accessToken: string })
+// → BotCreateResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[], scopes: string[], template: string | null, templateEngine: BotTemplateEngine, challengeKey: string | null, linkPreviewEnabled: boolean, ignoreSelfMessages: boolean, eventsHistoryEnabled: boolean, singleChat: boolean, canEdit: BotCanEdit[], whoCanAdd: BotWhoCanAdd }), accessToken: string })
```
### Python
@@ -27000,7 +27541,7 @@ from pachca.client import PachcaClient
client = PachcaClient("YOUR_TOKEN")
response = await client.bots.recreate_bot_token(id=1738816)
-# → BotCreateResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool), access_token: str)
+# → BotCreateResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str], scopes: list[str], template: str | None, template_engine: BotTemplateEngine, challenge_key: str | None, link_preview_enabled: bool, ignore_self_messages: bool, events_history_enabled: bool, single_chat: bool, can_edit: list[BotCanEdit], who_can_add: BotWhoCanAdd), access_token: str)
```
---
@@ -27136,6 +27677,31 @@ curl "https://api.pachca.com/api/shared/v1/webhooks/events?limit=1" \
- `user_id: integer, int32` (required) — Идентификатор отправителя сообщения. Пример: `2345`
- `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2024-09-18T19:53:14.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1726685594`
+ - **VideoCallWebhookPayload**: Структура исходящего вебхука о видеозвонке
+ - `type: string` (required) — Тип объекта. Пример: `"video_call"`
+ Значения: `video_call` — Для видеозвонков всегда video_call
+ - `event: string` (required) — Тип события
+ Значения: `started` — Видеозвонок начался, `finished` — Видеозвонок завершился, `recording_ready` — Запись видеозвонка готова
+ - `video_room_id: integer, int32` (required) — Идентификатор видеозвонка. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором проходит видеозвонок. Пример: `23438`
+ - `owner_id: integer, int32` (required) — Идентификатор пользователя, начавшего видеозвонок. Пример: `2345`
+ - `thread: object` — Объект с параметрами треда, если видеозвонок проходит в треде. `null`, если звонок не в треде.
+ - `id: integer, int32` (required) — Идентификатор треда. Пример: `12345`
+ - `chat_id: integer, int32` (required) — Идентификатор чата треда. Пример: `67890`
+ - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому создан тред. Пример: `268092`
+ - `message_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому создан тред. Пример: `23438`
+ - `started_at: date-time` — Дата и время начала звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для событий started и finished.. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `finished_at: date-time` — Дата и время завершения звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Присутствует для события finished.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `duration: integer, int32` — Длительность в секундах. Для события finished — длительность звонка, для recording_ready — длительность записи.. Пример: `900`
+ - `members: array of object` — Список участников звонка. Присутствует для события finished.
+ - `user_id: integer, int32` (required) — Идентификатор участника. Пример: `2345`
+ - `joined_at: date-time` (required) — Дата и время первого подключения к звонку (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `left_at: date-time` (required) — Дата и время выхода из звонка (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Если участник оставался в звонке до его завершения, совпадает с временем окончания звонка.. Пример: `"2025-05-15T14:45:00.000Z"`
+ - `recording_id: integer, int32` — Идентификатор записи. Присутствует для события recording_ready.. Пример: `4567`
+ - `file_id: integer, int32` — Идентификатор файла записи. Присутствует для события recording_ready. `null`, если файл ещё не привязан.. Пример: `89012`
+ - `url: string` — Прямая ссылка на файл записи. Присутствует для события recording_ready.. Пример: `"https://api.pachca.com/files/89012"`
+ - `size: integer, int32` — Размер файла записи в байтах. Присутствует для события recording_ready.. Пример: `10485760`
+ - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
- `meta: object` (required) — Метаданные пагинации
- `paginate: object` (required) — Вспомогательная информация
@@ -27509,7 +28075,7 @@ await client.bots.delete_webhook_event(id="01KAJZ2XDSS2S3DSW9EXJZ0TBV")
- `start_time: date-time` — Начальная метка времени (включительно)
- `end_time: date-time` — Конечная метка времени (исключительно)
- `event_key: string` — Фильтр по конкретному типу события
- Значения: `user_login`, `user_logout`, `user_2fa_fail`, `user_2fa_success`, `user_created`, `user_deleted`, `user_role_changed`, `user_updated`, `tag_created`, `tag_deleted`, `user_added_to_tag`, `user_removed_from_tag`, `chat_created`, `chat_renamed`, `chat_permission_changed`, `user_chat_join`, `user_chat_leave`, `tag_added_to_chat`, `tag_removed_from_chat`, `message_updated`, `message_deleted`, `message_created`, `reaction_created`, `reaction_deleted`, `thread_created`, `access_token_created`, `access_token_updated`, `access_token_destroy`, `kms_encrypt`, `kms_decrypt`, `audit_events_accessed`, `dlp_violation_detected`, `search_users_api`, `search_chats_api`, `search_messages_api`, `bot_scopes_updated`, `bot_webhook_settings_updated`, `bot_token_recreated`
+ Значения: `user_login`, `user_logout`, `user_2fa_fail`, `user_2fa_success`, `user_created`, `user_deleted`, `user_role_changed`, `user_updated`, `tag_created`, `tag_deleted`, `user_added_to_tag`, `user_removed_from_tag`, `chat_created`, `chat_renamed`, `chat_permission_changed`, `user_chat_join`, `user_chat_leave`, `tag_added_to_chat`, `tag_removed_from_chat`, `message_updated`, `message_deleted`, `message_created`, `reaction_created`, `reaction_deleted`, `thread_created`, `access_token_created`, `access_token_updated`, `access_token_destroy`, `kms_encrypt`, `kms_decrypt`, `audit_events_accessed`, `dlp_violation_detected`, `search_users_api`, `search_chats_api`, `search_messages_api`, `bot_scopes_updated`, `bot_webhook_settings_updated`, `bot_token_recreated`, `bot_deleted`
- `actor_id: string` — Идентификатор пользователя, выполнившего действие
- `actor_type: string` — Тип актора
- `entity_id: string` — Идентификатор затронутой сущности
@@ -27536,7 +28102,7 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09
- `id: string` (required) — Уникальный идентификатор события. Пример: `"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14"`
- `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
- `event_key: string` (required) — Ключ типа события
- Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация)
+ Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация), `bot_deleted` — Бот удалён
- `entity_id: string` (required) — Идентификатор затронутой сущности. Пример: `"98765"`
- `entity_type: string` (required) — Тип затронутой сущности. Пример: `"User"`
- `actor_id: string` (required) — Идентификатор пользователя, выполнившего действие. Пример: `"98765"`
@@ -27544,7 +28110,7 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09
- `details: anyOf` (required) — Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект
**Возможные варианты:**
- - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated
+ - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated, bot_deleted
- **AuditDetailsUserUpdated**: При: user_updated
- `changed_attrs: array of string` (required) — Список изменённых полей
- **AuditDetailsRoleChanged**: При: user_role_changed
diff --git a/apps/docs/public/llms.txt b/apps/docs/public/llms.txt
index 64f371cf..b1ac0393 100644
--- a/apps/docs/public/llms.txt
+++ b/apps/docs/public/llms.txt
@@ -6,7 +6,7 @@
> **Как агенту читать эту доку:** любую страницу можно получить в Markdown — добавь `.md` к URL или пошли заголовок `Accept: text/markdown`. Ссылки в разделах «Частые задачи», «Руководства» и «API-методы» уже ведут на `.md` — запрашивай напрямую. Точечные запросы по API без загрузки всего: `npx -y @pachca/cli api ls`, далее `npx -y @pachca/cli api <МЕТОД> <путь> --describe` (схема — `--spec`, полный референс — `--docs`).
-> Полная документация одним файлом: [llms-full.txt](https://dev.pachca.com/llms-full.txt) (~387K токенов — обычно не помещается в контекст целиком).
+> Полная документация одним файлом: [llms-full.txt](https://dev.pachca.com/llms-full.txt) (~397K токенов — обычно не помещается в контекст целиком).
> English-only: [llms-en.txt](https://dev.pachca.com/llms-en.txt) (~13K токенов).
@@ -52,9 +52,9 @@
| SDK | Типизированные клиенты для 6 языков | 78–104 |
| Agent Skills | Скиллы для AI-агентов и установка | 105–128 |
| Руководства | Страницы-руководства (Markdown по `.md`) | 129–189 |
-| API-методы | Все эндпоинты, сгруппированы по разделам | 190–297 |
-| Обновления | Журнал обновлений по датам | 298–351 |
-| Дополнительно | Прочие ссылки и контакты | 352–360 |
+| API-методы | Все эндпоинты, сгруппированы по разделам | 190–299 |
+| Обновления | Журнал обновлений по датам | 300–354 |
+| Дополнительно | Прочие ссылки и контакты | 355–363 |
## CLI Quick Start
@@ -278,9 +278,11 @@ C#: new PachcaClient("TOKEN") → await client.Messages.CreateMessage
## Bots
- [Ротация собственного токена бота](https://dev.pachca.com/api/bots/recreate-token-self.md): POST /bot/recreate_token
- [Саморегистрация вебхука бота](https://dev.pachca.com/api/bots/update-webhook.md): PUT /bot/webhook
+- [Список ботов](https://dev.pachca.com/api/bots/list.md): GET /bots
- [Новый бот](https://dev.pachca.com/api/bots/create.md): POST /bots
- [Информация о боте](https://dev.pachca.com/api/bots/get.md): GET /bots/{id}
- [Редактирование бота](https://dev.pachca.com/api/bots/update.md): PUT /bots/{id}
+- [Удаление бота](https://dev.pachca.com/api/bots/delete.md): DELETE /bots/{id}
- [Ротация токена бота](https://dev.pachca.com/api/bots/recreate-token.md): POST /bots/{id}/recreate_token
- [История событий](https://dev.pachca.com/api/bots/list-events.md): GET /webhooks/events
- [Удаление события](https://dev.pachca.com/api/bots/remove-event.md): DELETE /webhooks/events/{id}
@@ -296,6 +298,7 @@ C#: new PachcaClient("TOKEN") → await client.Messages.CreateMessage
- [Получение подписи, ключа и других параметров](https://dev.pachca.com/api/files/uploads.md): POST /uploads
## Обновления
+- [07 июля 2026 — Список и удаление ботов, права доступа бота, вебхуки видеозвонков](https://dev.pachca.com/updates/2026-07-07.md)
- [24 июня 2026 — Ротация токена бота и новые настройки вебхука](https://dev.pachca.com/updates/2026-06-24.md)
- [19 июня 2026 — Настройки входящего вебхука бота и сортировка в поиске сообщений](https://dev.pachca.com/updates/2026-06-19.md)
- [16 июня 2026 — Настраиваемые скоупы ботов и саморегистрация вебхука](https://dev.pachca.com/updates/2026-06-16.md)
diff --git a/apps/docs/public/pachca.postman_collection.json b/apps/docs/public/pachca.postman_collection.json
index 88aad4b3..a347f915 100644
--- a/apps/docs/public/pachca.postman_collection.json
+++ b/apps/docs/public/pachca.postman_collection.json
@@ -1750,6 +1750,22 @@
}
}
},
+ {
+ "name": "Список ботов",
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{baseUrl}}/bots",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "bots"
+ ]
+ }
+ }
+ },
{
"name": "Новый бот",
"request": {
@@ -1771,7 +1787,7 @@
},
"body": {
"mode": "raw",
- "raw": "{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\"\n }\n}",
+ "raw": "{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\",\n \"can_edit\": [\n \"admin\"\n ]\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -1831,7 +1847,7 @@
},
"body": {
"mode": "raw",
- "raw": "{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\"\n }\n}",
+ "raw": "{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\",\n \"can_edit\": [\n \"admin\"\n ]\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -1840,6 +1856,29 @@
}
}
},
+ {
+ "name": "Удаление бота",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{baseUrl}}/bots/:id",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "bots",
+ ":id"
+ ],
+ "variable": [
+ {
+ "key": "id",
+ "value": ""
+ }
+ ]
+ }
+ }
+ },
{
"name": "Ротация токена бота",
"request": {
diff --git a/apps/docs/public/skill.md b/apps/docs/public/skill.md
index 4c4aa737..6c69601e 100644
--- a/apps/docs/public/skill.md
+++ b/apps/docs/public/skill.md
@@ -145,9 +145,11 @@ Tokens are long-lived and do not expire. They can be reset by the admin/owner in
### Bots
- `POST /bot/recreate_token` — Self recreate bot token
- `PUT /bot/webhook` — Self update bot webhook
+- `GET /bots` — List bots
- `POST /bots` — Create bot
- `GET /bots/{id}` — Get bot
- `PUT /bots/{id}` — Update bot
+- `DELETE /bots/{id}` — Delete bot
- `POST /bots/{id}/recreate_token` — Recreate bot token
- `GET /webhooks/events` — Get webhook events
- `DELETE /webhooks/events/{id}` — Delete webhook event
diff --git a/apps/docs/public/updates.md b/apps/docs/public/updates.md
index f50f9198..bdb18d45 100644
--- a/apps/docs/public/updates.md
+++ b/apps/docs/public/updates.md
@@ -6,6 +6,57 @@
## ☀️ Лето 2026
+### Список и удаление ботов, права доступа бота, вебхуки видеозвонков
+
+_07 июля 2026_
+
+Появились методы для управления ботами. Метод [Список ботов](GET /bots) возвращает ботов, которые вы можете редактировать, с поиском по имени. Метод [Удаление бота](DELETE /bots/{id}) удаляет бота: прежний токен сразу инвалидируется, бот исключается из чатов, его исходящий вебхук удаляется. Оба метода требуют скоуп `bots:read` и `bots:write` соответственно.
+
+- [Список ботов](GET /bots)
+- [Удаление бота](DELETE /bots/{id})
+
+При создании и редактировании бота добавились настройки прав доступа: `who_can_add` — кто может добавлять бота в чаты (`creator`, `creator_admin`, `creator_admin_user`, `anyone`), и `can_edit` — роли, которым, помимо создателя, разрешено редактировать настройки бота (`admin`, `chat_owners`). При создании также можно передать `single_chat` — ограничить бота одной беседой или каналом (личные чаты и треды в ограничение не входят). Все три поля возвращаются в объекте бота.
+
+- [Новый бот](POST /bots)
+- [Редактирование бота](PUT /bots/{id})
+
+Появился новый тип исходящего вебхука — события видеозвонков: `video_call_started`, `video_call_finished` и `video_call_recording_ready`. Вебхук приходит для видеозвонков в чатах, где состоит бот. Подробнее о payload — в гайде [Настройка и типы событий](/guides/webhook/events#videozvonki).
+
+В журнале аудита появился тип события `bot_deleted` — удаление бота. Его можно фильтровать параметром `event_key`.
+
+- [Журнал аудита событий](GET /audit_events)
+
+В поиске сотрудников у параметра `sort` появилось значение `creation` — сортировка по дате создания (в дополнение к `by_score` и `alphabetical`).
+
+- [Поиск сотрудников](GET /search/users)
+
+### SDK v1.0.26
+
+- Метод `Список ботов` (`GET /bots`) — список ботов с поиском по имени
+- Метод `Удаление бота` (`DELETE /bots/{id}`)
+- У бота поля прав доступа: `who_can_add`, `can_edit`, `single_chat`
+- Новый payload исходящего вебхука `VideoCallWebhookPayload` и события `video_call_started`, `video_call_finished`, `video_call_recording_ready`
+- Журнал аудита: новый тип события `bot_deleted`
+- Поиск сотрудников (`GET /search/users`): значение сортировки `creation` (по дате создания)
+
+### CLI v2026.7.0
+
+- `pachca bots list` — список ботов с поиском по имени (`--query`)
+- `pachca bots delete` — удаление бота по его `id`
+- `pachca bots create` и `bots update` — права доступа бота: `--who-can-add`, `--can-edit`, `--single-chat`
+- `pachca search users` — значение сортировки `--sort creation` (по дате создания)
+
+### n8n Node v2.0.14
+
+- Bot: новые операции `Get Many` (список ботов) и `Delete`
+- Bot: поля прав доступа `who_can_add`, `can_edit`, `single_chat` в операциях `Create` и `Update`
+- Trigger: события видеозвонков `video_call_started`, `video_call_finished`, `video_call_recording_ready`
+- User: поиск — опция сортировки `Creation` (по дате создания)
+
+### Generator v1.1.9
+
+- Kotlin SDK: сериализатор union исходящих вебхуков теперь строится по членам union, а не по захардкоженному списку — новый тип payload подхватывается автоматически (чинит компиляцию при добавлении `VideoCallWebhookPayload`)
+
### Ротация токена бота и новые настройки вебхука
_24 июня 2026_
diff --git a/apps/docs/public/updates/2026-07-07.md b/apps/docs/public/updates/2026-07-07.md
new file mode 100644
index 00000000..56b8b219
--- /dev/null
+++ b/apps/docs/public/updates/2026-07-07.md
@@ -0,0 +1,52 @@
+> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://dev.pachca.com/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.
+
+# Список и удаление ботов, права доступа бота, вебхуки видеозвонков
+
+_07 июля 2026_
+
+Появились методы для управления ботами. Метод [Список ботов](GET /bots) возвращает ботов, которые вы можете редактировать, с поиском по имени. Метод [Удаление бота](DELETE /bots/{id}) удаляет бота: прежний токен сразу инвалидируется, бот исключается из чатов, его исходящий вебхук удаляется. Оба метода требуют скоуп `bots:read` и `bots:write` соответственно.
+
+- [Список ботов](GET /bots)
+- [Удаление бота](DELETE /bots/{id})
+
+При создании и редактировании бота добавились настройки прав доступа: `who_can_add` — кто может добавлять бота в чаты (`creator`, `creator_admin`, `creator_admin_user`, `anyone`), и `can_edit` — роли, которым, помимо создателя, разрешено редактировать настройки бота (`admin`, `chat_owners`). При создании также можно передать `single_chat` — ограничить бота одной беседой или каналом (личные чаты и треды в ограничение не входят). Все три поля возвращаются в объекте бота.
+
+- [Новый бот](POST /bots)
+- [Редактирование бота](PUT /bots/{id})
+
+Появился новый тип исходящего вебхука — события видеозвонков: `video_call_started`, `video_call_finished` и `video_call_recording_ready`. Вебхук приходит для видеозвонков в чатах, где состоит бот. Подробнее о payload — в гайде [Настройка и типы событий](/guides/webhook/events#videozvonki).
+
+В журнале аудита появился тип события `bot_deleted` — удаление бота. Его можно фильтровать параметром `event_key`.
+
+- [Журнал аудита событий](GET /audit_events)
+
+В поиске сотрудников у параметра `sort` появилось значение `creation` — сортировка по дате создания (в дополнение к `by_score` и `alphabetical`).
+
+- [Поиск сотрудников](GET /search/users)
+
+### SDK v1.0.26
+
+- Метод `Список ботов` (`GET /bots`) — список ботов с поиском по имени
+- Метод `Удаление бота` (`DELETE /bots/{id}`)
+- У бота поля прав доступа: `who_can_add`, `can_edit`, `single_chat`
+- Новый payload исходящего вебхука `VideoCallWebhookPayload` и события `video_call_started`, `video_call_finished`, `video_call_recording_ready`
+- Журнал аудита: новый тип события `bot_deleted`
+- Поиск сотрудников (`GET /search/users`): значение сортировки `creation` (по дате создания)
+
+### CLI v2026.7.0
+
+- `pachca bots list` — список ботов с поиском по имени (`--query`)
+- `pachca bots delete` — удаление бота по его `id`
+- `pachca bots create` и `bots update` — права доступа бота: `--who-can-add`, `--can-edit`, `--single-chat`
+- `pachca search users` — значение сортировки `--sort creation` (по дате создания)
+
+### n8n Node v2.0.14
+
+- Bot: новые операции `Get Many` (список ботов) и `Delete`
+- Bot: поля прав доступа `who_can_add`, `can_edit`, `single_chat` в операциях `Create` и `Update`
+- Trigger: события видеозвонков `video_call_started`, `video_call_finished`, `video_call_recording_ready`
+- User: поиск — опция сортировки `Creation` (по дате создания)
+
+### Generator v1.1.9
+
+- Kotlin SDK: сериализатор union исходящих вебхуков теперь строится по членам union, а не по захардкоженному списку — новый тип payload подхватывается автоматически (чинит компиляцию при добавлении `VideoCallWebhookPayload`)
diff --git a/apps/docs/public/updates/season/summer-2026.md b/apps/docs/public/updates/season/summer-2026.md
index 5b5d0fcd..a3dc2ff9 100644
--- a/apps/docs/public/updates/season/summer-2026.md
+++ b/apps/docs/public/updates/season/summer-2026.md
@@ -2,6 +2,57 @@
# ☀️ Лето 2026
+### Список и удаление ботов, права доступа бота, вебхуки видеозвонков
+
+_07 июля 2026_
+
+Появились методы для управления ботами. Метод [Список ботов](GET /bots) возвращает ботов, которые вы можете редактировать, с поиском по имени. Метод [Удаление бота](DELETE /bots/{id}) удаляет бота: прежний токен сразу инвалидируется, бот исключается из чатов, его исходящий вебхук удаляется. Оба метода требуют скоуп `bots:read` и `bots:write` соответственно.
+
+- [Список ботов](GET /bots)
+- [Удаление бота](DELETE /bots/{id})
+
+При создании и редактировании бота добавились настройки прав доступа: `who_can_add` — кто может добавлять бота в чаты (`creator`, `creator_admin`, `creator_admin_user`, `anyone`), и `can_edit` — роли, которым, помимо создателя, разрешено редактировать настройки бота (`admin`, `chat_owners`). При создании также можно передать `single_chat` — ограничить бота одной беседой или каналом (личные чаты и треды в ограничение не входят). Все три поля возвращаются в объекте бота.
+
+- [Новый бот](POST /bots)
+- [Редактирование бота](PUT /bots/{id})
+
+Появился новый тип исходящего вебхука — события видеозвонков: `video_call_started`, `video_call_finished` и `video_call_recording_ready`. Вебхук приходит для видеозвонков в чатах, где состоит бот. Подробнее о payload — в гайде [Настройка и типы событий](/guides/webhook/events#videozvonki).
+
+В журнале аудита появился тип события `bot_deleted` — удаление бота. Его можно фильтровать параметром `event_key`.
+
+- [Журнал аудита событий](GET /audit_events)
+
+В поиске сотрудников у параметра `sort` появилось значение `creation` — сортировка по дате создания (в дополнение к `by_score` и `alphabetical`).
+
+- [Поиск сотрудников](GET /search/users)
+
+### SDK v1.0.26
+
+- Метод `Список ботов` (`GET /bots`) — список ботов с поиском по имени
+- Метод `Удаление бота` (`DELETE /bots/{id}`)
+- У бота поля прав доступа: `who_can_add`, `can_edit`, `single_chat`
+- Новый payload исходящего вебхука `VideoCallWebhookPayload` и события `video_call_started`, `video_call_finished`, `video_call_recording_ready`
+- Журнал аудита: новый тип события `bot_deleted`
+- Поиск сотрудников (`GET /search/users`): значение сортировки `creation` (по дате создания)
+
+### CLI v2026.7.0
+
+- `pachca bots list` — список ботов с поиском по имени (`--query`)
+- `pachca bots delete` — удаление бота по его `id`
+- `pachca bots create` и `bots update` — права доступа бота: `--who-can-add`, `--can-edit`, `--single-chat`
+- `pachca search users` — значение сортировки `--sort creation` (по дате создания)
+
+### n8n Node v2.0.14
+
+- Bot: новые операции `Get Many` (список ботов) и `Delete`
+- Bot: поля прав доступа `who_can_add`, `can_edit`, `single_chat` в операциях `Create` и `Update`
+- Trigger: события видеозвонков `video_call_started`, `video_call_finished`, `video_call_recording_ready`
+- User: поиск — опция сортировки `Creation` (по дате создания)
+
+### Generator v1.1.9
+
+- Kotlin SDK: сериализатор union исходящих вебхуков теперь строится по членам union, а не по захардкоженному списку — новый тип payload подхватывается автоматически (чинит компиляцию при добавлении `VideoCallWebhookPayload`)
+
### Ротация токена бота и новые настройки вебхука
_24 июня 2026_
diff --git a/apps/docs/public/workflows.arazzo.yaml b/apps/docs/public/workflows.arazzo.yaml
index 47c52dde..8f322166 100644
--- a/apps/docs/public/workflows.arazzo.yaml
+++ b/apps/docs/public/workflows.arazzo.yaml
@@ -378,6 +378,25 @@ workflows:
used for the request is invalidated immediately — be sure to save the new `access_token`
from the response, otherwise the bot loses API access
operationId: BotOperations_selfRecreateBotToken
+ - workflowId: find-and-delete-a-bot
+ summary: Find and delete a bot
+ description: >-
+ Deletion is irreversible: the bot token is invalidated immediately and the bot is removed from
+ chats. The event is recorded in the audit log as `bot_deleted`.
+ steps:
+ - stepId: find-and-delete-a-bot-1
+ description: >-
+ With a user token (scope `bots:read`) get the list of bots you can edit: those you created
+ and those whose settings grant you edit access. Filter by name with `query`, take the next
+ page from `meta.paginate.next_page`
+ operationId: BotOperations_listBots
+ - stepId: find-and-delete-a-bot-2
+ description: >-
+ Take the target bot `id` from the list and delete it (scope `bots:write`). Available to an
+ admin, the company owner or the bot creator — chat owners cannot delete a bot. The
+ previous token is invalidated immediately, the bot is removed from all chats, and its
+ outgoing webhook is deleted
+ operationId: BotOperations_deleteBot
- workflowId: handle-incoming-webhook-event
summary: Handle incoming webhook event
description: >-
diff --git a/apps/docs/scripts/skills/generate.ts b/apps/docs/scripts/skills/generate.ts
index 31f3f6ff..85613315 100644
--- a/apps/docs/scripts/skills/generate.ts
+++ b/apps/docs/scripts/skills/generate.ts
@@ -613,6 +613,17 @@ function generateWebhookEventsMd(): string {
);
lines.push('');
+ lines.push('## Video calls');
+ lines.push('');
+ lines.push('Sent for video calls in chats where the bot is a member.');
+ lines.push(
+ 'Field `event` distinguishes: `started`, `finished` (includes participants and duration), `recording_ready` (includes recording file `url`, `size`, `duration`).'
+ );
+ lines.push(
+ 'Field `type` is always `video_call`. Common fields: `video_room_id`, `chat_id`, `owner_id`, `thread`.'
+ );
+ lines.push('');
+
lines.push('## Security');
lines.push('');
lines.push('1. Verify signature: `HMAC-SHA256(Signing secret, raw body)` === `Pachca-Signature`');
diff --git a/docs/api-audit.md b/docs/api-audit.md
index 1b26ed12..3abef051 100644
--- a/docs/api-audit.md
+++ b/docs/api-audit.md
@@ -338,7 +338,7 @@ DLP документирован в **трёх** местах — при изм
7. **Проверить feature-гайды затронутой фичи** (`apps/docs/content/guides/**`). Особый случай: API получил конфигурацию для фичи, которая раньше настраивалась **только в интерфейсе** (например, поля входящего вебхука бота — `template`, `template_engine`, `challenge_key`, `link_preview_enabled` — стали приниматься в `POST`/`PUT /bots`). Тогда соответствующий гайд (`incoming-webhooks.mdx`, `bots/setup.mdx` и т.п.) обычно описывает фичу как UI-only и отстаёт — дописать блок «Настройка через API» с именами полей и ссылками на методы. Эти гайды НЕ генерируются из OpenAPI, в шагах 1–4 не видны.
8. Добавить файл обновления `apps/docs/content/updates/<дата>.md` (формат — [updates-format](./updates-format.md))
9. Запустить `cd packages/spec && bun run generate`
-10. Запустить `bun turbo check`
+10. Запустить `bun turbo check`. **Если менялись модели / enum / union (а не только тексты доков) — дополнительно `bun run sdk:build`**: `turbo check` **не** компилирует SDK, и поломки генерации под Kotlin / Go / C# / Swift ловятся только этим скриптом (или в CI-джобе «SDK / Generate and build»). Пример: новый член union с непривычной формой поля компилируется в невалидный Kotlin — `turbo check` зелёный, а CI красный. Отсутствующий тулчейн скрипт помечает `SKIP` (не падает), поэтому для полного покрытия держать локально JDK/Go/.NET/Swift
11. Обновить таблицы в этом документе
12. **Проверить скиллы** — если затронуты API-методы, перейти к шагу ниже
@@ -480,6 +480,49 @@ typespec.tsp → openapi.yaml → generate.ts + config.ts + workflows.ts → SKI
Кратко: один файл на дату, `title` в frontmatter (не `##` в теле), ссылки
на методы `[Название](METHOD /path)`.
+### 6c. Правила текста описания метода (`@doc`)
+
+Перед написанием `@doc` нового метода — **прочитай, как уже описаны методы
+того же типа** (получение списка, получение одного объекта, создание,
+редактирование, удаление), и повтори их структуру и вводную фразу. Ниже —
+общие правила.
+
+- **Держись стиля аналогов.** Вводное предложение, порядок изложения и
+ закрывающая фраза должны совпадать с уже описанными методами того же типа —
+ и в русском, и в английском переводе. Не придумывай свою формулировку, если
+ для этого типа метода уже есть устоявшаяся.
+- **Не пересказывай таблицы.** Параметры запроса и поля ответа уже показаны в
+ таблицах на странице метода. В описании раскрывай **поведение** метода, а не
+ перечисляй отдельные параметры и поля.
+- **Без лишних уточнений.** Не добавляй то, что и так подразумевается или
+ единообразно во всём API (принадлежность к рабочему пространству токена, тип
+ пагинации и подобное).
+- **Доступ и права — сверяй с бэкендом и формулируй точно.** Описание доступа
+ должно отражать реальное правило, а не роль «вообще». Если доступ определяет
+ настройка самого ресурса, а роль лишь должна ей соответствовать — так и
+ писать, а не перечислять роли так, будто роль сама по себе открывает доступ
+ ко всем объектам.
+- **Пиши только то, что подтвердил.** Не дописывай оговорок и деталей о
+ соседнем поведении, которых не проверил по бэкенду.
+
+Те же принципы — для описаний **параметров запроса и полей ответа**:
+
+- **Не выводи смысл поля из его названия — сверяй с бэкендом.** Что поле
+ включает и что исключает, на какие сущности распространяется, каков эффект
+ каждого допустимого значения. Название часто уже, шире или просто не о том.
+- **Не выдавай ограничение за разрешение и наоборот.** Формулируй ровно ту
+ логику, что в коде: ограничивающее поле описывай как ограничение, а не как
+ «разрешено …».
+- **Поясняй значения и граничные случаи.** Для флагов и enum — что означает
+ каждое значение; отдельно оговаривай пустое/нулевое значение и значение по
+ умолчанию, если у них особый смысл.
+- **Не создавай впечатление, что настройка отменяет базовый доступ.** Если
+ поле добавляет права или роли поверх того, что доступно всегда, так и пиши,
+ а не так, будто оно заменяет собой весь доступ.
+- **Указывай реальную область действия.** Если поле влияет не на все
+ сущности (только на часть типов, состояний и т.п.), это должно быть в
+ описании.
+
### 7. Отчёт
Вывести краткий отчёт:
@@ -675,6 +718,33 @@ enum EnumName {
- Для EN: добавить те же ключи в `x-enum-descriptions` соответствующего
`target` в `packages/spec/overlay.en.yaml` (иначе `overlay:validate` упадёт).
+### Грабли генерации SDK (сверять при правке моделей)
+
+`turbo check` эти ошибки НЕ ловит — они всплывают только при `sdk:build` / в
+CI-джобе `sdk.yml` (см. §6.10). Частые причины, из-за которых валидная спека
+даёт невалидный SDK:
+
+- **Многозначное перечисление — только именованным `enum`, не inline-объединением
+ строк.** Поле с несколькими строковыми значениями (`"a" | "b" | "c"`) выносить в
+ отдельный `enum` с `x-enum-descriptions`, а не писать инлайн в модели. Инлайн
+ многозначное объединение генератор не отображает в тип у части языков —
+ получается нетипизированное поле без сериализатора, SDK не компилируется. Одно
+ литеральное значение (`"video_call"`) инлайном — норма (это константа-дискриминатор).
+- **Nullable определяется опциональностью (`?`), а не только `| null`.** Для
+ поля, которое всегда присутствует, но может быть `null`, генератор проставит
+ SDK-«optional» по признаку **опциональности** (`?`), а не по `| null`. Такое
+ поле писать `field?: T | null`, иначе в части языков оно станет non-null.
+ Сверять с тем, как оформлен тот же случай в соседней (аналогичной) модели.
+- **Новый член дискриминируемого union — прогнать `sdk:build`.** Добавление
+ нового члена (например, нового payload вебхука) затрагивает сгенерированный
+ (де)сериализатор union в каждом языке — обязательно проверить, что он
+ компилируется во всех SDK, а не только что спека валидна.
+
+Общий принцип: **новый тип модели / enum / union копировать с ближайшего
+существующего аналога** (та же форма полей, та же опциональность/nullable, тот
+же способ описания enum), а не изобретать — генераторы настроены под
+сложившиеся идиомы.
+
### Операции (endpoints)
Добавлять внутри соответствующего `interface` или создать новый:
diff --git a/integrations/n8n/CHANGELOG.md b/integrations/n8n/CHANGELOG.md
index e6f59fcb..fdb769a5 100644
--- a/integrations/n8n/CHANGELOG.md
+++ b/integrations/n8n/CHANGELOG.md
@@ -1,6 +1,16 @@
# Changelog
+## 2.0.14 (2026-07-07)
+
+### Improvements
+
+- Bot: new `Get Many` operation — list bots with name search
+- Bot: new `Delete` operation — delete a bot by its ID
+- Bot: access-control fields on `Create`/`Update` and in the response — `Who Can Add`, `Can Edit`, `Single Chat`
+- Trigger: video call events — `video_call_started`, `video_call_finished`, `video_call_recording_ready`
+- User: search — `Creation` sort option (by creation date)
+
## 2.0.13 (2026-06-24)
### Improvements
diff --git a/integrations/n8n/README.md b/integrations/n8n/README.md
index 1ce99c2c..74c679a1 100644
--- a/integrations/n8n/README.md
+++ b/integrations/n8n/README.md
@@ -24,7 +24,7 @@ Or install from archive (Docker, custom n8n images):
# Download from GitHub Releases
# Find the latest n8n-nodes-pachca.tgz at:
# https://github.com/pachca/openapi/releases?q=n8n
-wget https://github.com/pachca/openapi/releases/download/n8n-v2.0.13/n8n-nodes-pachca.tgz
+wget https://github.com/pachca/openapi/releases/download/n8n-v2.0.14/n8n-nodes-pachca.tgz
# Via npm (recommended)
cd ~/.n8n/nodes && npm install ./n8n-nodes-pachca.tgz
diff --git a/integrations/n8n/docs/DEVELOPMENT.md b/integrations/n8n/docs/DEVELOPMENT.md
index 41b4b2a2..ed28e185 100644
--- a/integrations/n8n/docs/DEVELOPMENT.md
+++ b/integrations/n8n/docs/DEVELOPMENT.md
@@ -128,7 +128,7 @@ pkill -f n8n; npx n8n start
## Versioning
-- **npm version**: SemVer (`MAJOR.MINOR.PATCH`), current: `2.0.13`
+- **npm version**: SemVer (`MAJOR.MINOR.PATCH`), current: `2.0.14`
- **n8n node version**: VersionedNodeType with `defaultVersion: 2`
- `typeVersion: 1` — loads PachcaV1 (frozen V1 class)
- `typeVersion: 2` — loads PachcaV2 (generated V2 class)
diff --git a/integrations/n8n/nodes/Pachca/PachcaTrigger.node.ts b/integrations/n8n/nodes/Pachca/PachcaTrigger.node.ts
index f4ffc54e..2c234e4b 100644
--- a/integrations/n8n/nodes/Pachca/PachcaTrigger.node.ts
+++ b/integrations/n8n/nodes/Pachca/PachcaTrigger.node.ts
@@ -27,6 +27,9 @@ const EVENT_FILTER: Record = {
'company_member_invite': { type: 'company_member', event: 'invite' },
'company_member_suspend': { type: 'company_member', event: 'suspend' },
'company_member_update': { type: 'company_member', event: 'update' },
+ 'video_call_finished': { type: 'video_call', event: 'finished' },
+ 'video_call_recording_ready': { type: 'video_call', event: 'recording_ready' },
+ 'video_call_started': { type: 'video_call', event: 'started' },
};
export class PachcaTrigger implements INodeType {
@@ -75,6 +78,9 @@ export class PachcaTrigger implements INodeType {
{ name: 'User Invited', value: 'company_member_invite' },
{ name: 'User Suspended', value: 'company_member_suspend' },
{ name: 'User Updated', value: 'company_member_update' },
+ { name: 'VideoCall Finished', value: 'video_call_finished' },
+ { name: 'VideoCall RecordingReady', value: 'video_call_recording_ready' },
+ { name: 'VideoCall Started', value: 'video_call_started' },
],
default: 'new_message',
description: 'The event to listen for',
diff --git a/integrations/n8n/nodes/Pachca/SharedRouter.ts b/integrations/n8n/nodes/Pachca/SharedRouter.ts
index b8ec24fe..a17b96f4 100644
--- a/integrations/n8n/nodes/Pachca/SharedRouter.ts
+++ b/integrations/n8n/nodes/Pachca/SharedRouter.ts
@@ -115,6 +115,12 @@ const ROUTES: Record> = {
{ api: 'outgoing_url', n8n: 'outgoingUrl' },
],
},
+ getAll: {
+ method: 'GET' as IHttpRequestMethods,
+ path: '/bots',
+ paginated: true,
+ queryMap: [{ api: 'query', n8n: 'query' }],
+ },
create: {
method: 'POST' as IHttpRequestMethods,
path: '/bots',
@@ -135,6 +141,9 @@ const ROUTES: Record> = {
{ api: 'link_preview_enabled', n8n: 'linkPreviewEnabled' },
{ api: 'ignore_self_messages', n8n: 'ignoreSelfMessages' },
{ api: 'events_history_enabled', n8n: 'eventsHistoryEnabled' },
+ { api: 'who_can_add', n8n: 'whoCanAdd' },
+ { api: 'can_edit', n8n: 'canEdit', isArray: true, arrayType: 'string' },
+ { api: 'single_chat', n8n: 'singleChat' },
],
},
get: {
@@ -162,8 +171,15 @@ const ROUTES: Record> = {
{ api: 'link_preview_enabled', n8n: 'linkPreviewEnabled' },
{ api: 'ignore_self_messages', n8n: 'ignoreSelfMessages' },
{ api: 'events_history_enabled', n8n: 'eventsHistoryEnabled' },
+ { api: 'who_can_add', n8n: 'whoCanAdd' },
+ { api: 'can_edit', n8n: 'canEdit', isArray: true, arrayType: 'string' },
],
},
+ delete: {
+ method: 'DELETE' as IHttpRequestMethods,
+ path: '/bots/{id}',
+ pathParams: [{ api: 'id', n8n: 'id' }],
+ },
recreateToken: {
method: 'POST' as IHttpRequestMethods,
path: '/bots/{id}/recreate_token',
diff --git a/integrations/n8n/nodes/Pachca/V2/BotDescription.ts b/integrations/n8n/nodes/Pachca/V2/BotDescription.ts
index 316ba402..c9af4ca7 100644
--- a/integrations/n8n/nodes/Pachca/V2/BotDescription.ts
+++ b/integrations/n8n/nodes/Pachca/V2/BotDescription.ts
@@ -13,11 +13,21 @@ export const botOperations: INodeProperties[] = [
value: 'create',
action: 'Create a bot',
},
+ {
+ name: 'Delete',
+ value: 'delete',
+ action: 'Delete a bot',
+ },
{
name: 'Get',
value: 'get',
action: 'Get a bot',
},
+ {
+ name: 'Get Many',
+ value: 'getAll',
+ action: 'Get many bots',
+ },
{
name: 'Get Many Events',
value: 'getAllEvents',
@@ -78,6 +88,47 @@ export const botFields: INodeProperties[] = [
displayOptions: { show: { resource: ['bot'], operation: ['updateWebhook'] } },
placeholder: 'https://www.website.com/tasks/new',
},
+ {
+ displayName: 'Requires owner, admin, user roles',
+ name: 'botGetAllNotice',
+ type: 'notice',
+ default: '',
+ displayOptions: { show: { resource: ['bot'], operation: ['getAll'] } },
+ },
+ {
+ displayName: 'Return All',
+ name: 'returnAll',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to return all results or only up to a given limit',
+ displayOptions: { show: { resource: ['bot'], operation: ['getAll'] } },
+ },
+ {
+ displayName: 'Limit',
+ name: 'limit',
+ type: 'number',
+ default: 50,
+ description: 'Max number of results to return',
+ typeOptions: { minValue: 1, maxValue: 50 },
+ displayOptions: { show: { resource: ['bot'], operation: ['getAll'], returnAll: [false] } },
+ },
+ {
+ displayName: 'Simplify',
+ name: 'simplify',
+ type: 'boolean',
+ default: true,
+ description: 'Whether to return a simplified version of the response instead of all fields',
+ displayOptions: { show: { resource: ['bot'], operation: ['getAll'] } },
+ },
+ {
+ displayName: 'Query',
+ name: 'query',
+ type: 'string',
+ default: "",
+ description: 'Search phrase to filter bots by name',
+ placeholder: 'task',
+ displayOptions: { show: { resource: ['bot'], operation: ['getAll'] } },
+ },
{
displayName: 'Requires owner, admin, user roles',
name: 'botCreateNotice',
@@ -103,6 +154,14 @@ export const botFields: INodeProperties[] = [
default: {},
displayOptions: { show: { resource: ['bot'], operation: ['create'] } },
options: [
+ {
+ displayName: 'Can Edit',
+ name: 'canEdit',
+ type: 'string',
+ default: "",
+ description: 'Roles allowed to edit the bot settings in addition to the creator. The creator can always edit. An empty array means only the creator can edit.',
+ placeholder: 'admin',
+ },
{
displayName: 'Challenge Key',
name: 'challengeKey',
@@ -172,6 +231,13 @@ export const botFields: INodeProperties[] = [
description: 'Bot token scopes (permissions). If omitted, the bot receives the default set.',
placeholder: 'messages:create',
},
+ {
+ displayName: 'Single Chat',
+ name: 'singleChat',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to restricts the bot to a single group chat. `true` — the bot can be added to one discussion or channel only, `false` — to multiple. Personal chats and threads don\'t count toward this limit. Set only on creation and not changed on update.',
+ },
{
displayName: 'Template',
name: 'template',
@@ -199,6 +265,17 @@ export const botFields: INodeProperties[] = [
default: "commands",
description: 'Outgoing webhook trigger condition',
},
+ {
+ displayName: 'Who Can Add',
+ name: 'whoCanAdd',
+ type: 'options',
+ options: [{ name: 'Anyone', value: 'anyone', description: 'Anyone, including guests' },
+{ name: 'Creator', value: 'creator', description: 'Only the bot creator' },
+{ name: 'Creator Admin', value: 'creator_admin', description: 'The creator and company administrators' },
+{ name: 'Creator Admin User', value: 'creator_admin_user', description: 'The creator, administrators, and company members' }],
+ default: "creator",
+ description: 'Who can add the bot to chats',
+ },
],
},
{
@@ -259,6 +336,14 @@ export const botFields: INodeProperties[] = [
default: {},
displayOptions: { show: { resource: ['bot'], operation: ['update'] } },
options: [
+ {
+ displayName: 'Can Edit',
+ name: 'canEdit',
+ type: 'string',
+ default: "",
+ description: 'Roles allowed to edit the bot settings in addition to the creator. The creator can always edit. An empty array means only the creator can edit.',
+ placeholder: 'admin',
+ },
{
displayName: 'Challenge Key',
name: 'challengeKey',
@@ -363,8 +448,35 @@ export const botFields: INodeProperties[] = [
default: "commands",
description: 'Outgoing webhook trigger condition',
},
+ {
+ displayName: 'Who Can Add',
+ name: 'whoCanAdd',
+ type: 'options',
+ options: [{ name: 'Anyone', value: 'anyone', description: 'Anyone, including guests' },
+{ name: 'Creator', value: 'creator', description: 'Only the bot creator' },
+{ name: 'Creator Admin', value: 'creator_admin', description: 'The creator and company administrators' },
+{ name: 'Creator Admin User', value: 'creator_admin_user', description: 'The creator, administrators, and company members' }],
+ default: "creator",
+ description: 'Who can add the bot to chats',
+ },
],
},
+ {
+ displayName: 'ID',
+ name: 'id',
+ type: 'number',
+ required: true,
+ default: 0,
+ displayOptions: { show: { resource: ['bot'], operation: ['delete'] } },
+ description: 'Bot ID',
+ },
+ {
+ displayName: 'Requires owner, admin, user roles',
+ name: 'botDeleteNotice',
+ type: 'notice',
+ default: '',
+ displayOptions: { show: { resource: ['bot'], operation: ['delete'] } },
+ },
{
displayName: 'ID',
name: 'id',
diff --git a/integrations/n8n/nodes/Pachca/V2/SearchDescription.ts b/integrations/n8n/nodes/Pachca/V2/SearchDescription.ts
index 398a4606..25ceceb9 100644
--- a/integrations/n8n/nodes/Pachca/V2/SearchDescription.ts
+++ b/integrations/n8n/nodes/Pachca/V2/SearchDescription.ts
@@ -302,7 +302,8 @@ export const searchFields: INodeProperties[] = [
name: 'sort',
type: 'options',
options: [{ name: 'Alphabetical', value: 'alphabetical', description: 'Alphabetically' },
-{ name: 'By Score', value: 'by_score', description: 'By relevance' }],
+{ name: 'By Score', value: 'by_score', description: 'By relevance' },
+{ name: 'Creation', value: 'creation', description: 'By creation date' }],
default: "",
description: 'Sort results by',
},
diff --git a/integrations/n8n/nodes/Pachca/V2/SecurityDescription.ts b/integrations/n8n/nodes/Pachca/V2/SecurityDescription.ts
index 63c2d274..a7303f5e 100644
--- a/integrations/n8n/nodes/Pachca/V2/SecurityDescription.ts
+++ b/integrations/n8n/nodes/Pachca/V2/SecurityDescription.ts
@@ -105,6 +105,7 @@ export const securityFields: INodeProperties[] = [
{ name: 'Access Token Destroy', value: 'access_token_destroy', description: 'Access token deleted' },
{ name: 'Access Token Updated', value: 'access_token_updated' },
{ name: 'Audit Events Accessed', value: 'audit_events_accessed', description: 'Audit logs accessed' },
+{ name: 'Bot Deleted', value: 'bot_deleted' },
{ name: 'Bot Scopes Updated', value: 'bot_scopes_updated', description: 'Bot token scopes changed' },
{ name: 'Bot Token Recreated', value: 'bot_token_recreated', description: 'Bot token recreated (rotation)' },
{ name: 'Bot Webhook Settings Updated', value: 'bot_webhook_settings_updated', description: 'Bot outgoing webhook settings changed' },
diff --git a/integrations/n8n/package.json b/integrations/n8n/package.json
index e6fa5c43..4cc1c597 100644
--- a/integrations/n8n/package.json
+++ b/integrations/n8n/package.json
@@ -1,6 +1,6 @@
{
"name": "n8n-nodes-pachca",
- "version": "2.0.13",
+ "version": "2.0.14",
"description": "Pachca node for n8n workflow automation",
"license": "MIT",
"main": "index.js",
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
index 0bc85b9d..ca245ea1 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 2026.7.0 (7 июля 2026)
+
+- **Добавлено** (bots list): Новая команда — список ботов с поиском по имени (`--query`)
+- **Добавлено** (bots delete): Новая команда — удаление бота по его `id`
+- **Добавлено** (bots create): Права доступа бота — параметры `who-can-add` (кто может добавлять бота в чаты), `can-edit` (роли, редактирующие настройки) и `single-chat` (только один чат)
+- **Добавлено** (bots update): Права доступа бота — параметры `who-can-add` (кто может добавлять бота в чаты) и `can-edit` (роли, редактирующие настройки)
+- **Добавлено** (search users): Значение сортировки `--sort creation` — по дате создания
+
## 2026.6.3 (24 июня 2026)
- **Изменено** (files, custom-properties, oauth): Команды реорганизованы по разделам: `common uploads`→`files uploads`, `common direct-url`→`files direct-url`, `common custom-properties`→`custom-properties list`, `common request-export`→`chats request-export`, `common get-exports`→`chats download-export`, `profile get-info`→`oauth token-info`, `link-previews add`→`messages unfurl`. Старые имена продолжают работать (скрытые алиасы)
diff --git a/packages/cli/README.md b/packages/cli/README.md
index 8547a476..2356c774 100644
--- a/packages/cli/README.md
+++ b/packages/cli/README.md
@@ -80,9 +80,11 @@ pachca guide # список всех сценариев
|---------|---------|
| `pachca bots recreate-token-self` | Ротация собственного токена бота |
| `pachca bots update-webhook` | Саморегистрация вебхука бота |
+| `pachca bots list` | Список ботов |
| `pachca bots create` | Новый бот |
| `pachca bots get` | Информация о боте |
| `pachca bots update` | Редактирование бота |
+| `pachca bots delete` | Удаление бота |
| `pachca bots recreate-token` | Ротация токена бота |
| `pachca bots list-events` | История событий |
| `pachca bots remove-event` | Удаление события |
diff --git a/packages/cli/oclif.manifest.json b/packages/cli/oclif.manifest.json
index 7671f107..34139306 100644
--- a/packages/cli/oclif.manifest.json
+++ b/packages/cli/oclif.manifest.json
@@ -1 +1 @@
-{"commands":{"api":{"aliases":[],"args":{"method":{"description":"HTTP-метод (GET, POST, PUT, DELETE, PATCH)","name":"method","options":["GET","POST","PUT","DELETE","PATCH"],"required":true},"path":{"description":"Путь API (например, /messages)","name":"path","required":true}},"description":"Произвольный запрос к API. Список и справка: `api ls` (список эндпоинтов), `api <МЕТОД> <путь> --describe` / `--spec` / `--docs`","examples":["<%= config.bin %> api GET /messages --query chat_id=123","<%= config.bin %> api POST /messages -F message[chat_id]=12345 -f message[content]=\"Привет\"","<%= config.bin %> api POST /messages --input payload.json","<%= config.bin %> api POST /messages --data '{\"message\":{\"entity_id\":123,\"content\":\"Привет\"}}'","<%= config.bin %> api GET /profile -o yaml","<%= config.bin %> api ls","<%= config.bin %> api ls --json","<%= config.bin %> api POST /messages --describe","<%= config.bin %> api GET /messages --spec","<%= config.bin %> api POST /messages --docs"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"raw-field":{"char":"f","description":"Строковое поле (key=value)","name":"raw-field","hasDynamicHelp":false,"multiple":true,"type":"option"},"field":{"char":"F","description":"Типизированное поле (числа/boolean автоматически, @file читает файл)","name":"field","hasDynamicHelp":false,"multiple":true,"type":"option"},"input":{"description":"JSON-файл с телом запроса (- для stdin)","name":"input","hasDynamicHelp":false,"multiple":false,"type":"option"},"data":{"description":"Тело запроса инлайн JSON-строкой","name":"data","hasDynamicHelp":false,"multiple":false,"type":"option"},"query":{"description":"Query-параметр (key=value)","name":"query","hasDynamicHelp":false,"multiple":true,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"api","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":false,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","api.js"]},"auth:list":{"aliases":[],"args":{},"description":"Список сохранённых профилей","examples":["<%= config.bin %> auth list","<%= config.bin %> auth list -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","list.js"]},"auth:login":{"aliases":[],"args":{},"description":"Авторизация и сохранение токена","examples":["<%= config.bin %> auth login","<%= config.bin %> auth login --profile personal","<%= config.bin %> auth login --profile ci --token $PACHCA_TOKEN"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Имя профиля (по умолчанию \"default\")","name":"profile","default":"default","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Токен для сохранения (без интерактивного ввода)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:login","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","login.js"]},"auth:logout":{"aliases":[],"args":{"profile":{"description":"Имя профиля для удаления","name":"profile","required":false}},"description":"Удаление сохранённого профиля","examples":["<%= config.bin %> auth logout bot-notify","<%= config.bin %> auth logout"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:logout","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","logout.js"]},"auth:status":{"aliases":[],"args":{},"description":"Статус текущего профиля","examples":["<%= config.bin %> auth status","<%= config.bin %> auth status -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","status.js"]},"auth:switch":{"aliases":[],"args":{"profile":{"description":"Имя профиля для переключения","name":"profile","required":true}},"description":"Переключение активного профиля","examples":["<%= config.bin %> auth switch bot-support"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:switch","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","switch.js"]},"bots:create":{"aliases":[],"args":{},"description":"Новый бот","examples":["Создать бота через API и получить токен:\n $ pachca bots create","Настроить бота с исходящим вебхуком:\n $ pachca bots create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Имя бота","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Никнейм бота. Должен заканчиваться на `_bot`.","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"outgoing-url":{"description":"URL исходящего вебхука","name":"outgoing-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"events":{"description":"События, на которые подписан бот","name":"events","hasDynamicHelp":false,"multiple":false,"type":"option"},"trigger-on":{"description":"Условие срабатывания исходящего вебхука","name":"trigger-on","hasDynamicHelp":false,"multiple":false,"type":"option"},"commands":{"description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","name":"commands","hasDynamicHelp":false,"multiple":false,"type":"option"},"scopes":{"description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","name":"scopes","hasDynamicHelp":false,"multiple":false,"type":"option"},"template":{"description":"Шаблон форматирования входящего вебхука","name":"template","hasDynamicHelp":false,"multiple":false,"type":"option"},"template-engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","name":"template-engine","hasDynamicHelp":false,"multiple":false,"type":"option"},"challenge-key":{"description":"Название поля проверки для верификации входящего вебхука","name":"challenge-key","hasDynamicHelp":false,"multiple":false,"type":"option"},"link-preview-enabled":{"description":"Показывать превью ссылок в сообщениях входящего вебхука","name":"link-preview-enabled","allowNo":true,"type":"boolean"},"ignore-self-messages":{"description":"Игнорировать входящие сообщения, отправленные самим ботом","name":"ignore-self-messages","allowNo":true,"type":"boolean"},"events-history-enabled":{"description":"Сохранять историю событий бота для последующего получения через метод истории событий","name":"events-history-enabled","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:write","apiMethod":"POST","apiPath":"/bots","defaultColumns":["id","webhook","access_token"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","bots","create.js"]},"bots:get":{"aliases":[],"args":{"id":{"description":"Идентификатор бота (pachca bots list)","name":"id","required":true}},"description":"Информация о боте","examples":["Обновить Webhook URL бота:\n $ pachca bots update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:read","apiMethod":"GET","apiPath":"/bots/{id}","defaultColumns":["id","webhook"],"isESM":true,"relativePath":["dist","commands","bots","get.js"]},"bots:list-events":{"aliases":[],"args":{},"description":"История событий","examples":["Обработка событий через историю (polling):\n $ pachca bots list-events"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:list-events","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"webhooks:events:read","apiMethod":"GET","apiPath":"/webhooks/events","defaultColumns":["id","created_at","event_type","payload"],"isESM":true,"relativePath":["dist","commands","bots","list-events.js"]},"bots:recreate-token":{"aliases":[],"args":{"id":{"description":"Идентификатор бота (pachca bots list)","name":"id","required":true}},"description":"Ротация токена бота","examples":["Ротация токена бота:\n $ pachca bots recreate-token"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:recreate-token","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:write","apiMethod":"POST","apiPath":"/bots/{id}/recreate_token","defaultColumns":["id","webhook","access_token"],"isESM":true,"relativePath":["dist","commands","bots","recreate-token.js"]},"bots:recreate-token-self":{"aliases":[],"args":{},"description":"Ротация собственного токена бота","examples":["Ротация токена бота:\n $ pachca bots recreate-token-self"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:recreate-token-self","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bot_self:write","apiMethod":"POST","apiPath":"/bot/recreate_token","defaultColumns":["id","webhook","access_token"],"isESM":true,"relativePath":["dist","commands","bots","recreate-token-self.js"]},"bots:remove-event":{"aliases":[],"args":{"id":{"description":"Идентификатор события (pachca bots list)","name":"id","required":true}},"description":"Удаление события","examples":["Обработка событий через историю (polling):\n $ pachca bots remove-event"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:remove-event","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"webhooks:events:delete","apiMethod":"DELETE","apiPath":"/webhooks/events/{id}","isESM":true,"relativePath":["dist","commands","bots","remove-event.js"]},"bots:update":{"aliases":[],"args":{"id":{"description":"Идентификатор бота (pachca bots list)","name":"id","required":true}},"description":"Редактирование бота","examples":["Обновить Webhook URL бота:\n $ pachca bots update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Имя бота","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Никнейм бота. Должен заканчиваться на `_bot`.","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"outgoing-url":{"description":"URL исходящего вебхука","name":"outgoing-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"events":{"description":"События, на которые подписан бот","name":"events","hasDynamicHelp":false,"multiple":false,"type":"option"},"trigger-on":{"description":"Условие срабатывания исходящего вебхука","name":"trigger-on","hasDynamicHelp":false,"multiple":false,"type":"option"},"commands":{"description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","name":"commands","hasDynamicHelp":false,"multiple":false,"type":"option"},"scopes":{"description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","name":"scopes","hasDynamicHelp":false,"multiple":false,"type":"option"},"template":{"description":"Шаблон форматирования входящего вебхука","name":"template","hasDynamicHelp":false,"multiple":false,"type":"option"},"template-engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","name":"template-engine","hasDynamicHelp":false,"multiple":false,"type":"option"},"challenge-key":{"description":"Название поля проверки для верификации входящего вебхука","name":"challenge-key","hasDynamicHelp":false,"multiple":false,"type":"option"},"link-preview-enabled":{"description":"Показывать превью ссылок в сообщениях входящего вебхука","name":"link-preview-enabled","allowNo":true,"type":"boolean"},"ignore-self-messages":{"description":"Игнорировать входящие сообщения, отправленные самим ботом","name":"ignore-self-messages","allowNo":true,"type":"boolean"},"events-history-enabled":{"description":"Сохранять историю событий бота для последующего получения через метод истории событий","name":"events-history-enabled","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:write","apiMethod":"PUT","apiPath":"/bots/{id}","defaultColumns":["id","webhook"],"isESM":true,"relativePath":["dist","commands","bots","update.js"]},"bots:update-webhook":{"aliases":[],"args":{},"description":"Саморегистрация вебхука бота","examples":["Обновить Webhook URL бота:\n $ pachca bots update-webhook"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"outgoing-url":{"description":"URL исходящего вебхука. Пустая строка отключает вебхук.","name":"outgoing-url","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:update-webhook","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bot_self:webhook:write","apiMethod":"PUT","apiPath":"/bot/webhook","defaultColumns":["id","webhook"],"requiredFlags":["outgoing-url"],"isESM":true,"relativePath":["dist","commands","bots","update-webhook.js"]},"changelog":{"aliases":[],"args":{},"description":"История изменений CLI","examples":["<%= config.bin %> changelog","<%= config.bin %> changelog -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"changelog","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","changelog.js"]},"chats:archive":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Архивация чата","examples":["Архивация и управление чатом:\n $ pachca chats archive","Найти и заархивировать неактивные чаты:\n $ pachca chats archive"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:archive","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:archive","apiMethod":"PUT","apiPath":"/chats/{id}/archive","isESM":true,"relativePath":["dist","commands","chats","archive.js"]},"chats:create":{"aliases":[],"args":{},"description":"Новый чат","examples":["Создать канал и пригласить участников:\n $ pachca chats create","Создать проектную беседу из шаблона:\n $ pachca chats create","Найти активные чаты за период:\n $ pachca chats list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"member-ids":{"description":"Массив идентификаторов пользователей, которые станут участниками","name":"member-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"group-tag-ids":{"description":"Массив идентификаторов тегов, которые станут участниками","name":"group-tag-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"channel":{"description":"Является каналом","name":"channel","allowNo":true,"type":"boolean"},"public":{"description":"Открытый доступ","name":"public","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:create","apiMethod":"POST","apiPath":"/chats","defaultColumns":["id","name","created_at","owner_id","channel"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","chats","create.js"]},"chats:download-export":{"aliases":[],"args":{"id":{"description":"Идентификатор экспорта (pachca chats list)","name":"id","required":true}},"description":"Скачать архив экспорта","examples":["Экспорт истории чата:\n $ pachca chats download-export"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"save":{"description":"Путь для сохранения файла","name":"save","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["common:get-exports"],"id":"chats:download-export","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_exports:read","plan":"corporation","apiMethod":"GET","apiPath":"/chats/exports/{id}","isESM":true,"relativePath":["dist","commands","chats","download-export.js"]},"chats:get":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Информация о чате","examples":["Переименовать или обновить чат:\n $ pachca chats update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:read","apiMethod":"GET","apiPath":"/chats/{id}","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","chats","get.js"]},"chats:list":{"aliases":[],"args":{},"description":"Список чатов","examples":["Создать канал и пригласить участников:\n $ pachca chats create","Создать проектную беседу из шаблона:\n $ pachca chats create","Найти активные чаты за период:\n $ pachca chats list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"sort":{"description":"Поле сортировки","name":"sort","default":"id","hasDynamicHelp":false,"multiple":false,"options":["id","last_message_at"],"type":"option"},"order":{"description":"Направление сортировки","name":"order","default":"desc","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"availability":{"description":"Параметр, который отвечает за доступность и выборку чатов для пользователя","name":"availability","default":"is_member","hasDynamicHelp":false,"multiple":false,"options":["is_member","public"],"type":"option"},"last-message-at-after":{"description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-after","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-message-at-before":{"description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-before","hasDynamicHelp":false,"multiple":false,"type":"option"},"personal":{"description":"Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.","name":"personal","allowNo":true,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:read","apiMethod":"GET","apiPath":"/chats","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","chats","list.js"]},"chats:request-export":{"aliases":[],"args":{},"description":"Экспорт сообщений","examples":["Экспорт истории чата:\n $ pachca chats request-export"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"start-at":{"description":"Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","name":"start-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"end-at":{"description":"Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","name":"end-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"webhook-url":{"description":"Адрес, на который будет отправлен вебхук по завершению экспорта","name":"webhook-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-ids":{"description":"Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.","name":"chat-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"skip-chats-file":{"description":"Пропуск формирования файла со списком чатов (chats.json)","name":"skip-chats-file","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":["common:request-export"],"id":"chats:request-export","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_exports:write","plan":"corporation","apiMethod":"POST","apiPath":"/chats/exports","requiredFlags":["start-at","end-at","webhook-url"],"isESM":true,"relativePath":["dist","commands","chats","request-export.js"]},"chats:unarchive":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Разархивация чата","examples":["Архивация и управление чатом:\n $ pachca chats unarchive"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:unarchive","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:archive","apiMethod":"PUT","apiPath":"/chats/{id}/unarchive","isESM":true,"relativePath":["dist","commands","chats","unarchive.js"]},"chats:update":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Редактирование чата","examples":["Переименовать или обновить чат:\n $ pachca chats update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"public":{"description":"Открытый доступ","name":"public","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:update","apiMethod":"PUT","apiPath":"/chats/{id}","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","chats","update.js"]},"commands":{"aliases":[],"args":{},"description":"Список всех команд","examples":["<%= config.bin %> commands","<%= config.bin %> commands --available","<%= config.bin %> commands --available -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"available":{"description":"Показать только команды, доступные текущему токену","name":"available","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"commands","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","commands.js"]},"config:get":{"aliases":[],"args":{"key":{"description":"Ключ настройки","name":"key","required":true}},"description":"Получение значения конфигурации","examples":["<%= config.bin %> config get defaults.output"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"config:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","config","get.js"]},"config:list":{"aliases":[],"args":{},"description":"Список всех настроек","examples":["<%= config.bin %> config list","<%= config.bin %> config list -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"config:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","config","list.js"]},"config:set":{"aliases":[],"args":{"key":{"description":"Ключ настройки","name":"key","required":true},"value":{"description":"Значение настройки","name":"value","required":true}},"description":"Установка значения конфигурации","examples":["<%= config.bin %> config set defaults.output json","<%= config.bin %> config set defaults.timeout 60"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"config:set","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","config","set.js"]},"custom-properties:list":{"aliases":[],"args":{},"description":"Список дополнительных полей","examples":["Получить кастомные поля профиля:\n $ pachca custom-properties list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"entity-type":{"description":"Тип сущности","name":"entity-type","hasDynamicHelp":false,"multiple":false,"options":["User","Task"],"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["common:custom-properties"],"id":"custom-properties:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"custom_properties:read","apiMethod":"GET","apiPath":"/custom_properties","defaultColumns":["id","name","data_type"],"requiredFlags":["entity-type"],"isESM":true,"relativePath":["dist","commands","custom-properties","list.js"]},"doctor":{"aliases":[],"args":{},"description":"Диагностика окружения: Node.js, сеть, токен, конфигурация","examples":["<%= config.bin %> doctor","<%= config.bin %> doctor -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"doctor","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","doctor.js"]},"files:direct-url":{"aliases":[],"args":{},"description":"Загрузка файла","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"direct-url":{"description":"URL для отправки запроса (получается из ответа POST /uploads)","name":"direct-url","required":true,"hasDynamicHelp":false,"multiple":false,"type":"option"},"content-disposition":{"description":"Параметр Content-Disposition, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"content-disposition","hasDynamicHelp":false,"multiple":false,"type":"option"},"acl":{"description":"Параметр acl, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"acl","hasDynamicHelp":false,"multiple":false,"type":"option"},"policy":{"description":"Параметр policy, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"policy","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-credential":{"description":"Параметр x-amz-credential, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-credential","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-algorithm":{"description":"Параметр x-amz-algorithm, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-algorithm","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-date":{"description":"Параметр x-amz-date, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-date","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-signature":{"description":"Параметр x-amz-signature, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-signature","hasDynamicHelp":false,"multiple":false,"type":"option"},"key":{"description":"Параметр key, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"key","hasDynamicHelp":false,"multiple":false,"type":"option"},"file":{"description":"Файл для загрузки","name":"file","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["common:direct-url"],"id":"files:direct-url","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"apiMethod":"POST","apiPath":"/direct_url","requiredFlags":["content-disposition","acl","policy","x-amz-credential","x-amz-algorithm","x-amz-date","x-amz-signature","key"],"isESM":true,"relativePath":["dist","commands","files","direct-url.js"]},"files:uploads":{"aliases":[],"args":{},"description":"Получение подписи, ключа и других параметров","examples":["Изменить вложения сообщения:\n $ pachca files uploads"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":["common:uploads"],"id":"files:uploads","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"uploads:write","apiMethod":"POST","apiPath":"/uploads","defaultColumns":["Content-Disposition","acl","policy","x-amz-credential","x-amz-algorithm"],"isESM":true,"relativePath":["dist","commands","files","uploads.js"]},"group-tags:create":{"aliases":[],"args":{},"description":"Новый тег","examples":["Массовое создание сотрудников с тегами:\n $ pachca group-tags create","Получить всех сотрудников тега/департамента:\n $ pachca group-tags list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название тега","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:write","apiMethod":"POST","apiPath":"/group_tags","defaultColumns":["id","name","users_count"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","group-tags","create.js"]},"group-tags:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Удаление тега","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:write","apiMethod":"DELETE","apiPath":"/group_tags/{id}","isESM":true,"relativePath":["dist","commands","group-tags","delete.js"]},"group-tags:get":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Информация о теге","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:read","apiMethod":"GET","apiPath":"/group_tags/{id}","defaultColumns":["id","name","users_count"],"isESM":true,"relativePath":["dist","commands","group-tags","get.js"]},"group-tags:list":{"aliases":[],"args":{},"description":"Список тегов сотрудников","examples":["Массовое создание сотрудников с тегами:\n $ pachca group-tags create","Получить всех сотрудников тега/департамента:\n $ pachca group-tags list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"names":{"description":"Массив названий тегов, по которым вы хотите отфильтровать список (через запятую)","name":"names","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:read","apiMethod":"GET","apiPath":"/group_tags","defaultColumns":["id","name","users_count"],"isESM":true,"relativePath":["dist","commands","group-tags","list.js"]},"group-tags:list-users":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Список сотрудников тега","examples":["Получить всех сотрудников тега/департамента:\n $ pachca group-tags list-users"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:list-users","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:read","apiMethod":"GET","apiPath":"/group_tags/{id}/users","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","group-tags","list-users.js"]},"group-tags:update":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Редактирование тега","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название тега","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:write","apiMethod":"PUT","apiPath":"/group_tags/{id}","defaultColumns":["id","name","users_count"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","group-tags","update.js"]},"guide":{"aliases":[],"args":{"query":{"description":"Поисковый запрос","name":"query","required":false}},"description":"Поиск сценариев использования","examples":["<%= config.bin %> guide \"отправить файл\"","<%= config.bin %> guide \"создать бота\"","<%= config.bin %> guide"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"guide","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","guide.js"]},"introspect":{"aliases":[],"args":{"command":{"description":"Имя команды (например, \"messages create\")","name":"command","required":false}},"description":"Метаданные команды в машиночитаемом формате","examples":["<%= config.bin %> introspect messages create","<%= config.bin %> introspect"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"introspect","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":false,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","introspect.js"]},"members:add":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (беседа, канал или чат треда)","name":"id","required":true}},"description":"Добавление пользователей","examples":["Подписаться на тред сообщения:\n $ pachca members add","Упомянуть пользователя:\n $ pachca members list","Создать канал и пригласить участников:\n $ pachca members add"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"member-ids":{"description":"Массив идентификаторов пользователей, которые станут участниками","name":"member-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"silent":{"description":"Не создавать в чате системное сообщение о добавлении участника","name":"silent","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:add","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"POST","apiPath":"/chats/{id}/members","requiredFlags":["member-ids"],"isESM":true,"relativePath":["dist","commands","members","add.js"]},"members:add-group-tags":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true}},"description":"Добавление тегов","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"group-tag-ids":{"description":"Массив идентификаторов тегов, которые станут участниками","name":"group-tag-ids","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:add-group-tags","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"POST","apiPath":"/chats/{id}/group_tags","requiredFlags":["group-tag-ids"],"isESM":true,"relativePath":["dist","commands","members","add-group-tags.js"]},"members:leave":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true}},"description":"Выход из беседы или канала","examples":["Архивация и управление чатом:\n $ pachca members leave"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:leave","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:leave","apiMethod":"DELETE","apiPath":"/chats/{id}/leave","isESM":true,"relativePath":["dist","commands","members","leave.js"]},"members:list":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true}},"description":"Список участников чата","examples":["Подписаться на тред сообщения:\n $ pachca members add","Упомянуть пользователя:\n $ pachca members list","Создать канал и пригласить участников:\n $ pachca members add"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"role":{"description":"Роль в чате","name":"role","default":"all","hasDynamicHelp":false,"multiple":false,"options":["all","owner","admin","editor","member"],"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:read","apiMethod":"GET","apiPath":"/chats/{id}/members","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","members","list.js"]},"members:remove":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true},"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Исключение пользователя","examples":["Архивация и управление чатом:\n $ pachca members update","Архивация и управление чатом:\n $ pachca members remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:remove","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"DELETE","apiPath":"/chats/{id}/members/{user_id}","isESM":true,"relativePath":["dist","commands","members","remove.js"]},"members:remove-group-tag":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true},"tag_id":{"description":"Идентификатор тега (pachca tags list)","name":"tag_id","required":true}},"description":"Исключение тега","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:remove-group-tag","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"DELETE","apiPath":"/chats/{id}/group_tags/{tag_id}","isESM":true,"relativePath":["dist","commands","members","remove-group-tag.js"]},"members:update":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true},"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Редактирование роли","examples":["Архивация и управление чатом:\n $ pachca members update","Архивация и управление чатом:\n $ pachca members remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"role":{"description":"Роль","name":"role","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"PUT","apiPath":"/chats/{id}/members/{user_id}","requiredFlags":["role"],"isESM":true,"relativePath":["dist","commands","members","update.js"]},"messages:create":{"aliases":[],"args":{},"description":"Новое сообщение","examples":["Найти чат по имени и отправить сообщение:\n $ pachca messages create","Отправить сообщение в канал или беседу (если chat_id известен):\n $ pachca messages create","Отправить личное сообщение пользователю:\n $ pachca messages create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"entity-type":{"description":"Тип сущности","name":"entity-type","hasDynamicHelp":false,"multiple":false,"type":"option"},"entity-id":{"description":"Идентификатор сущности (pachca chats list | pachca users list)","name":"entity-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"content":{"description":"Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"files":{"description":"Прикрепляемые файлы","name":"files","hasDynamicHelp":false,"multiple":false,"type":"option"},"buttons":{"description":"Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.","name":"buttons","hasDynamicHelp":false,"multiple":false,"type":"option"},"parent-message-id":{"description":"Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.","name":"parent-message-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-avatar-url":{"description":"Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота. (макс. 255 символов)","name":"display-avatar-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-name":{"description":"Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота. (макс. 255 символов)","name":"display-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"skip-invite-mentions":{"description":"Пропуск добавления упоминаемых пользователей в тред. Работает только при отправке сообщения в тред.","name":"skip-invite-mentions","allowNo":true,"type":"boolean"},"link-preview":{"description":"Отображение предпросмотра первой найденной ссылки в тексте сообщения","name":"link-preview","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:create","apiMethod":"POST","apiPath":"/messages","defaultColumns":["id","content","created_at","entity_type","entity_id"],"requiredFlags":["entity-id","content"],"isESM":true,"relativePath":["dist","commands","messages","create.js"]},"messages:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Удаление сообщения","examples":["Получить вложения из сообщения:\n $ pachca messages get","Отредактировать сообщение:\n $ pachca messages update","Изменить вложения сообщения:\n $ pachca messages get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:delete","apiMethod":"DELETE","apiPath":"/messages/{id}","isESM":true,"relativePath":["dist","commands","messages","delete.js"]},"messages:get":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Информация о сообщении","examples":["Получить вложения из сообщения:\n $ pachca messages get","Отредактировать сообщение:\n $ pachca messages update","Изменить вложения сообщения:\n $ pachca messages get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:read","apiMethod":"GET","apiPath":"/messages/{id}","defaultColumns":["id","content","created_at","entity_type","entity_id"],"isESM":true,"relativePath":["dist","commands","messages","get.js"]},"messages:list":{"aliases":[],"args":{"chat_id":{"description":"Идентификатор чата (беседа, канал, диалог или чат треда)","name":"chat_id","required":false}},"description":"Список сообщений чата","examples":["Найти чат по имени и отправить сообщение:\n $ pachca messages create","Отправить сообщение в канал или беседу (если chat_id известен):\n $ pachca messages create","Отправить личное сообщение пользователю:\n $ pachca messages create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"chat-id":{"description":"Идентификатор чата (беседа, канал, диалог или чат треда)","name":"chat-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"sort":{"description":"Поле сортировки","name":"sort","default":"id","hasDynamicHelp":false,"multiple":false,"options":["id"],"type":"option"},"order":{"description":"Направление сортировки","name":"order","default":"desc","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:read","apiMethod":"GET","apiPath":"/messages","defaultColumns":["id","content","created_at","entity_type","entity_id"],"requiredFlags":["chat-id"],"isESM":true,"relativePath":["dist","commands","messages","list.js"]},"messages:pin":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Закрепление сообщения","examples":["Закрепить/открепить сообщение:\n $ pachca messages pin","Закрепить/открепить сообщение:\n $ pachca messages unpin"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:pin","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"pins:write","apiMethod":"POST","apiPath":"/messages/{id}/pin","isESM":true,"relativePath":["dist","commands","messages","pin.js"]},"messages:unfurl":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Unfurl (разворачивание ссылок)","examples":["Разворачивание ссылок (unfurling):\n $ pachca messages unfurl"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"link-previews":{"description":"`JSON` карта предпросмотров ссылок, где каждый ключ — `URL`, который был получен в исходящем вебхуке о новом сообщении.","name":"link-previews","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["link-previews:add"],"id":"messages:unfurl","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"link_previews:write","apiMethod":"POST","apiPath":"/messages/{id}/link_previews","requiredFlags":["link-previews"],"isESM":true,"relativePath":["dist","commands","messages","unfurl.js"]},"messages:unpin":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Открепление сообщения","examples":["Закрепить/открепить сообщение:\n $ pachca messages pin","Закрепить/открепить сообщение:\n $ pachca messages unpin"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:unpin","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"pins:write","apiMethod":"DELETE","apiPath":"/messages/{id}/pin","isESM":true,"relativePath":["dist","commands","messages","unpin.js"]},"messages:update":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Редактирование сообщения","examples":["Получить вложения из сообщения:\n $ pachca messages get","Отредактировать сообщение:\n $ pachca messages update","Изменить вложения сообщения:\n $ pachca messages get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"content":{"description":"Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"files":{"description":"Прикрепляемые файлы","name":"files","hasDynamicHelp":false,"multiple":false,"type":"option"},"buttons":{"description":"Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке. Для удаления кнопок пришлите пустой массив.","name":"buttons","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-avatar-url":{"description":"Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","name":"display-avatar-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-name":{"description":"Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","name":"display-name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:update","apiMethod":"PUT","apiPath":"/messages/{id}","defaultColumns":["id","content","created_at","entity_type","entity_id"],"isESM":true,"relativePath":["dist","commands","messages","update.js"]},"oauth:token-info":{"aliases":[],"args":{},"description":"Информация о токене","examples":["Проверить свой токен:\n $ pachca oauth token-info"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":["profile:get-info"],"id":"oauth:token-info","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"apiMethod":"GET","apiPath":"/oauth/token/info","defaultColumns":["id","name","created_at","token","user_id"],"isESM":true,"relativePath":["dist","commands","oauth","token-info.js"]},"profile:delete-avatar":{"aliases":[],"args":{},"description":"Удаление своего аватара","examples":["Загрузить аватар профиля:\n $ pachca profile update-avatar","Удалить аватар профиля:\n $ pachca profile delete-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:delete-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_avatar:write","apiMethod":"DELETE","apiPath":"/profile/avatar","isESM":true,"relativePath":["dist","commands","profile","delete-avatar.js"]},"profile:delete-status":{"aliases":[],"args":{},"description":"Удаление своего статуса","examples":["Установить статус:\n $ pachca profile update-status","Сбросить статус:\n $ pachca profile delete-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:delete-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_status:write","apiMethod":"DELETE","apiPath":"/profile/status","isESM":true,"relativePath":["dist","commands","profile","delete-status.js"]},"profile:get":{"aliases":[],"args":{},"description":"Свой профиль","examples":["Получить свой профиль:\n $ pachca profile get","Получить кастомные поля профиля:\n $ pachca profile get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile:read","apiMethod":"GET","apiPath":"/profile","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","profile","get.js"]},"profile:get-status":{"aliases":[],"args":{},"description":"Свой статус","examples":["Установить статус:\n $ pachca profile update-status","Сбросить статус:\n $ pachca profile delete-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:get-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_status:read","apiMethod":"GET","apiPath":"/profile/status","defaultColumns":["title","emoji","expires_at","is_away"],"isESM":true,"relativePath":["dist","commands","profile","get-status.js"]},"profile:update-avatar":{"aliases":[],"args":{},"description":"Загрузка своего аватара","examples":["Загрузить аватар профиля:\n $ pachca profile update-avatar","Удалить аватар профиля:\n $ pachca profile delete-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"file":{"description":"Файл изображения для аватара","name":"file","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:update-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_avatar:write","apiMethod":"PUT","apiPath":"/profile/avatar","defaultColumns":["image_url"],"isESM":true,"relativePath":["dist","commands","profile","update-avatar.js"]},"profile:update-status":{"aliases":[],"args":{},"description":"Новый свой статус","examples":["Установить статус:\n $ pachca profile update-status","Сбросить статус:\n $ pachca profile delete-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"emoji":{"description":"Emoji символ статуса","name":"emoji","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Текст статуса","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"expires-at":{"description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","name":"expires-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"is-away":{"description":"Режим «Нет на месте»","name":"is-away","allowNo":true,"type":"boolean"},"away-message":{"description":"Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях. (макс. 1024 символов)","name":"away-message","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:update-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_status:write","apiMethod":"PUT","apiPath":"/profile/status","defaultColumns":["title","emoji","expires_at","is_away"],"requiredFlags":["emoji","title"],"isESM":true,"relativePath":["dist","commands","profile","update-status.js"]},"reactions:add":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Добавление реакции","examples":["Добавить реакцию на сообщение:\n $ pachca reactions add","Добавить реакцию на сообщение:\n $ pachca reactions remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"code":{"description":"Emoji символ реакции","name":"code","hasDynamicHelp":false,"multiple":false,"type":"option"},"name":{"description":"Текстовое имя эмодзи (используется для кастомных эмодзи)","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"reactions:add","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"reactions:write","apiMethod":"POST","apiPath":"/messages/{id}/reactions","defaultColumns":["name","created_at","user_id","code"],"requiredFlags":["code"],"isESM":true,"relativePath":["dist","commands","reactions","add.js"]},"reactions:list":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Список реакций","examples":["Добавить реакцию на сообщение:\n $ pachca reactions add","Добавить реакцию на сообщение:\n $ pachca reactions remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"reactions:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"reactions:read","apiMethod":"GET","apiPath":"/messages/{id}/reactions","defaultColumns":["name","created_at","user_id","code"],"isESM":true,"relativePath":["dist","commands","reactions","list.js"]},"reactions:remove":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Удаление реакции","examples":["Добавить реакцию на сообщение:\n $ pachca reactions add","Добавить реакцию на сообщение:\n $ pachca reactions remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"code":{"description":"Emoji символ реакции","name":"code","hasDynamicHelp":false,"multiple":false,"type":"option"},"name":{"description":"Текстовое имя эмодзи (используется для кастомных эмодзи)","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"reactions:remove","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"reactions:write","apiMethod":"DELETE","apiPath":"/messages/{id}/reactions","requiredFlags":["code"],"isESM":true,"relativePath":["dist","commands","reactions","remove.js"]},"read-member:list-readers":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Список прочитавших сообщение","examples":["Проверить, кто прочитал сообщение:\n $ pachca read-member list-readers"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"read-member:list-readers","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:read","apiMethod":"GET","apiPath":"/messages/{id}/read_member_ids","isESM":true,"relativePath":["dist","commands","read-member","list-readers.js"]},"search:list-chats":{"aliases":[],"args":{},"description":"Поиск чатов","examples":["Найти чат по имени и отправить сообщение:\n $ pachca search list-chats","Найти чат по названию:\n $ pachca search list-chats"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Текст поискового запроса","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"order":{"description":"Направление сортировки","name":"order","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"created-from":{"description":"Фильтр по дате создания (от)","name":"created-from","hasDynamicHelp":false,"multiple":false,"type":"option"},"created-to":{"description":"Фильтр по дате создания (до)","name":"created-to","hasDynamicHelp":false,"multiple":false,"type":"option"},"active":{"description":"Фильтр по активности чата","name":"active","allowNo":true,"type":"boolean"},"chat-subtype":{"description":"Фильтр по типу чата","name":"chat-subtype","hasDynamicHelp":false,"multiple":false,"options":["discussion","thread"],"type":"option"},"personal":{"description":"Фильтр по личным чатам","name":"personal","allowNo":true,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"search:list-chats","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"search:chats","apiMethod":"GET","apiPath":"/search/chats","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","search","list-chats.js"]},"search:list-messages":{"aliases":[],"args":{},"description":"Поиск сообщений","examples":["Найти сообщение по тексту:\n $ pachca search list-messages"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Текст поискового запроса","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"order":{"description":"Направление сортировки","name":"order","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"sort":{"description":"Сортировка результатов","name":"sort","default":"created_at","hasDynamicHelp":false,"multiple":false,"options":["created_at","relevance"],"type":"option"},"created-from":{"description":"Фильтр по дате создания (от)","name":"created-from","hasDynamicHelp":false,"multiple":false,"type":"option"},"created-to":{"description":"Фильтр по дате создания (до)","name":"created-to","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-ids":{"description":"Фильтр по ID чатов (через запятую)","name":"chat-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"user-ids":{"description":"Фильтр по ID авторов сообщений (через запятую)","name":"user-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"active":{"description":"Фильтр по активности чата","name":"active","allowNo":true,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"search:list-messages","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"search:messages","apiMethod":"GET","apiPath":"/search/messages","defaultColumns":["id","content","created_at","entity_type","entity_id"],"isESM":true,"relativePath":["dist","commands","search","list-messages.js"]},"search:list-users":{"aliases":[],"args":{},"description":"Поиск сотрудников","examples":["Отправить личное сообщение пользователю:\n $ pachca search list-users","Упомянуть пользователя:\n $ pachca search list-users","Найти сотрудника по имени:\n $ pachca search list-users"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Текст поискового запроса","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"sort":{"description":"Сортировка результатов","name":"sort","hasDynamicHelp":false,"multiple":false,"options":["by_score","alphabetical"],"type":"option"},"order":{"description":"Направление сортировки","name":"order","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"created-from":{"description":"Фильтр по дате создания (от)","name":"created-from","hasDynamicHelp":false,"multiple":false,"type":"option"},"created-to":{"description":"Фильтр по дате создания (до)","name":"created-to","hasDynamicHelp":false,"multiple":false,"type":"option"},"company-roles":{"description":"Фильтр по ролям сотрудников (через запятую)","name":"company-roles","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"search:list-users","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"search:users","apiMethod":"GET","apiPath":"/search/users","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","search","list-users.js"]},"security:list":{"aliases":[],"args":{},"description":"Журнал аудита событий","examples":["Получить журнал аудита событий:\n $ pachca security list","Мониторинг подозрительных входов:\n $ pachca security list","Экспорт логов за период:\n $ pachca security list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"start-time":{"description":"Начальная метка времени (включительно)","name":"start-time","hasDynamicHelp":false,"multiple":false,"type":"option"},"end-time":{"description":"Конечная метка времени (исключительно)","name":"end-time","hasDynamicHelp":false,"multiple":false,"type":"option"},"event-key":{"description":"Фильтр по конкретному типу события","name":"event-key","hasDynamicHelp":false,"multiple":false,"options":["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated"],"type":"option"},"actor-id":{"description":"Идентификатор пользователя, выполнившего действие","name":"actor-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"actor-type":{"description":"Тип актора","name":"actor-type","hasDynamicHelp":false,"multiple":false,"type":"option"},"entity-id":{"description":"Идентификатор затронутой сущности","name":"entity-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"entity-type":{"description":"Тип сущности","name":"entity-type","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"security:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"audit_events:read","plan":"corporation","apiMethod":"GET","apiPath":"/audit_events","defaultColumns":["id","created_at","event_key","entity_id","entity_type"],"isESM":true,"relativePath":["dist","commands","security","list.js"]},"tasks:create":{"aliases":[],"args":{},"description":"Новое напоминание","examples":["Форма заявки/запроса:\n $ pachca tasks create","Создать напоминание:\n $ pachca tasks create","Получить список предстоящих задач:\n $ pachca tasks list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"kind":{"description":"Тип","name":"kind","hasDynamicHelp":false,"multiple":false,"type":"option"},"content":{"description":"Описание (по умолчанию — название типа)","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"due-at":{"description":"Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).","name":"due-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"priority":{"description":"Приоритет: 1, 2 (важно) или 3 (очень важно).","name":"priority","hasDynamicHelp":false,"multiple":false,"type":"option"},"performer-ids":{"description":"Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные» (по умолчанию ответственным назначается вы)","name":"performer-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-id":{"description":"Идентификатор чата, к которому привязывается напоминание (pachca chats list)","name":"chat-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"all-day":{"description":"Напоминание на весь день (без указания времени)","name":"all-day","allowNo":true,"type":"boolean"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:create","apiMethod":"POST","apiPath":"/tasks","defaultColumns":["id","content","created_at","kind","due_at"],"requiredFlags":["kind"],"isESM":true,"relativePath":["dist","commands","tasks","create.js"]},"tasks:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор напоминания (pachca tasks list)","name":"id","required":true}},"description":"Удаление напоминания","examples":["Получить задачу по ID:\n $ pachca tasks get","Отметить задачу выполненной:\n $ pachca tasks update","Обновить задачу (перенести срок, сменить ответственных):\n $ pachca tasks update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:delete","apiMethod":"DELETE","apiPath":"/tasks/{id}","isESM":true,"relativePath":["dist","commands","tasks","delete.js"]},"tasks:get":{"aliases":[],"args":{"id":{"description":"Идентификатор напоминания (pachca tasks list)","name":"id","required":true}},"description":"Информация о напоминании","examples":["Получить задачу по ID:\n $ pachca tasks get","Отметить задачу выполненной:\n $ pachca tasks update","Обновить задачу (перенести срок, сменить ответственных):\n $ pachca tasks update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:read","apiMethod":"GET","apiPath":"/tasks/{id}","defaultColumns":["id","content","created_at","kind","due_at"],"isESM":true,"relativePath":["dist","commands","tasks","get.js"]},"tasks:list":{"aliases":[],"args":{},"description":"Список напоминаний","examples":["Форма заявки/запроса:\n $ pachca tasks create","Создать напоминание:\n $ pachca tasks create","Получить список предстоящих задач:\n $ pachca tasks list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:read","apiMethod":"GET","apiPath":"/tasks","defaultColumns":["id","content","created_at","kind","due_at"],"isESM":true,"relativePath":["dist","commands","tasks","list.js"]},"tasks:update":{"aliases":[],"args":{"id":{"description":"Идентификатор напоминания (pachca tasks list)","name":"id","required":true}},"description":"Редактирование напоминания","examples":["Получить задачу по ID:\n $ pachca tasks get","Отметить задачу выполненной:\n $ pachca tasks update","Обновить задачу (перенести срок, сменить ответственных):\n $ pachca tasks update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"kind":{"description":"Тип","name":"kind","hasDynamicHelp":false,"multiple":false,"type":"option"},"content":{"description":"Описание","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"due-at":{"description":"Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).","name":"due-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"priority":{"description":"Приоритет: 1, 2 (важно) или 3 (очень важно).","name":"priority","hasDynamicHelp":false,"multiple":false,"type":"option"},"performer-ids":{"description":"Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные»","name":"performer-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"status":{"description":"Статус","name":"status","hasDynamicHelp":false,"multiple":false,"type":"option"},"all-day":{"description":"Напоминание на весь день (без указания времени)","name":"all-day","allowNo":true,"type":"boolean"},"done-at":{"description":"Дата и время выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","name":"done-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:update","apiMethod":"PUT","apiPath":"/tasks/{id}","defaultColumns":["id","content","created_at","kind","due_at"],"isESM":true,"relativePath":["dist","commands","tasks","update.js"]},"threads:add":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Новый тред","examples":["Ответить в тред (комментарий к сообщению):\n $ pachca thread add","Подписаться на тред сообщения:\n $ pachca thread add"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"threads:add","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"threads:create","apiMethod":"POST","apiPath":"/messages/{id}/thread","defaultColumns":["id","chat_id","message_id","message_chat_id","updated_at"],"isESM":true,"relativePath":["dist","commands","threads","add.js"]},"threads:get":{"aliases":[],"args":{"id":{"description":"Идентификатор треда","name":"id","required":true}},"description":"Информация о треде","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"threads:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"threads:read","apiMethod":"GET","apiPath":"/threads/{id}","defaultColumns":["id","chat_id","message_id","message_chat_id","updated_at"],"isESM":true,"relativePath":["dist","commands","threads","get.js"]},"threads:list":{"aliases":[],"args":{},"description":"Список тредов","examples":["Получить список активных тредов за период:\n $ pachca threads list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"last-message-at-after":{"description":"Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-after","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-message-at-before":{"description":"Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-before","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"threads:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"threads:read","apiMethod":"GET","apiPath":"/threads","defaultColumns":["id","chat_id","message_id","message_chat_id","updated_at"],"isESM":true,"relativePath":["dist","commands","threads","list.js"]},"upgrade":{"aliases":[],"args":{},"description":"Обновить CLI до последней версии","examples":["<%= config.bin %> upgrade"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"upgrade","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","upgrade.js"]},"upload":{"aliases":[],"args":{"file":{"description":"Путь к файлу или - для stdin","name":"file","required":true}},"description":"Загрузить файл (получает подпись и загружает автоматически)","examples":["<%= config.bin %> upload photo.jpg","cat data.csv | <%= config.bin %> upload -"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"upload","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"uploads:write","isESM":true,"relativePath":["dist","commands","upload.js"]},"users:create":{"aliases":[],"args":{},"description":"Новый сотрудник","examples":["Проверить, кто прочитал сообщение:\n $ pachca users list","Разослать уведомление нескольким пользователям:\n $ pachca users list","Массовое создание сотрудников с тегами:\n $ pachca users create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"first-name":{"description":"Имя","name":"first-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-name":{"description":"Фамилия","name":"last-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"email":{"description":"Электронная почта","name":"email","hasDynamicHelp":false,"multiple":false,"type":"option"},"phone-number":{"description":"Телефон","name":"phone-number","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Имя пользователя","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"department":{"description":"Департамент","name":"department","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Должность","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"role":{"description":"Уровень доступа","name":"role","hasDynamicHelp":false,"multiple":false,"type":"option"},"suspended":{"description":"Деактивация пользователя","name":"suspended","allowNo":true,"type":"boolean"},"list-tags":{"description":"Массив тегов, привязываемых к сотруднику","name":"list-tags","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-ids":{"description":"Идентификаторы чатов, в которые сотрудник будет добавлен сразу при создании. Для роли `guest` параметр обязателен и должен содержать ровно один активный чат.","name":"chat-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"},"skip-email-notify":{"description":"Пропуск этапа отправки приглашения сотруднику. Сотруднику не будет отправлено письмо на электронную почту с приглашением создать аккаунт. Полезно при предварительном создании аккаунтов перед входом через SSO.","name":"skip-email-notify","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:create","apiMethod":"POST","apiPath":"/users","defaultColumns":["id","title","first_name","last_name","email"],"requiredFlags":["email"],"isESM":true,"relativePath":["dist","commands","users","create.js"]},"users:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор пользователя (pachca users list)","name":"id","required":true}},"description":"Удаление сотрудника","examples":["Получить сотрудника по ID:\n $ pachca users get","Массовое создание сотрудников с тегами:\n $ pachca users update","Offboarding сотрудника:\n $ pachca users update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:delete","apiMethod":"DELETE","apiPath":"/users/{id}","isESM":true,"relativePath":["dist","commands","users","delete.js"]},"users:get":{"aliases":[],"args":{"id":{"description":"Идентификатор пользователя (pachca users list)","name":"id","required":true}},"description":"Информация о сотруднике","examples":["Получить сотрудника по ID:\n $ pachca users get","Массовое создание сотрудников с тегами:\n $ pachca users update","Offboarding сотрудника:\n $ pachca users update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:read","apiMethod":"GET","apiPath":"/users/{id}","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","users","get.js"]},"users:get-status":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Статус сотрудника","examples":["Управление статусом сотрудника:\n $ pachca users get-status","Управление статусом сотрудника:\n $ pachca users update-status","Управление статусом сотрудника:\n $ pachca users remove-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:get-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_status:read","apiMethod":"GET","apiPath":"/users/{user_id}/status","defaultColumns":["title","emoji","expires_at","is_away"],"isESM":true,"relativePath":["dist","commands","users","get-status.js"]},"users:list":{"aliases":[],"args":{},"description":"Список сотрудников","examples":["Проверить, кто прочитал сообщение:\n $ pachca users list","Разослать уведомление нескольким пользователям:\n $ pachca users list","Массовое создание сотрудников с тегами:\n $ pachca users create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Поисковая фраза для фильтрации результатов. Поиск работает по полям: `first_name` (имя), `last_name` (фамилия), `email` (электронная почта), `phone_number` (телефон) и `nickname` (никнейм).","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:read","apiMethod":"GET","apiPath":"/users","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","users","list.js"]},"users:remove-avatar":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Удаление аватара сотрудника","examples":["Загрузить аватар сотрудника:\n $ pachca users update-avatar","Удалить аватар сотрудника:\n $ pachca users remove-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:remove-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_avatar:write","apiMethod":"DELETE","apiPath":"/users/{user_id}/avatar","isESM":true,"relativePath":["dist","commands","users","remove-avatar.js"]},"users:remove-status":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Удаление статуса сотрудника","examples":["Управление статусом сотрудника:\n $ pachca users get-status","Управление статусом сотрудника:\n $ pachca users update-status","Управление статусом сотрудника:\n $ pachca users remove-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:remove-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_status:write","apiMethod":"DELETE","apiPath":"/users/{user_id}/status","isESM":true,"relativePath":["dist","commands","users","remove-status.js"]},"users:update":{"aliases":[],"args":{"id":{"description":"Идентификатор пользователя (pachca users list)","name":"id","required":true}},"description":"Редактирование сотрудника","examples":["Получить сотрудника по ID:\n $ pachca users get","Массовое создание сотрудников с тегами:\n $ pachca users update","Offboarding сотрудника:\n $ pachca users update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"first-name":{"description":"Имя","name":"first-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-name":{"description":"Фамилия","name":"last-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"email":{"description":"Электронная почта","name":"email","hasDynamicHelp":false,"multiple":false,"type":"option"},"phone-number":{"description":"Телефон","name":"phone-number","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Имя пользователя","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"department":{"description":"Департамент","name":"department","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Должность","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"role":{"description":"Уровень доступа","name":"role","hasDynamicHelp":false,"multiple":false,"type":"option"},"suspended":{"description":"Деактивация пользователя","name":"suspended","allowNo":true,"type":"boolean"},"list-tags":{"description":"Массив тегов, привязываемых к сотруднику","name":"list-tags","hasDynamicHelp":false,"multiple":false,"type":"option"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:update","apiMethod":"PUT","apiPath":"/users/{id}","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","users","update.js"]},"users:update-avatar":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Загрузка аватара сотрудника","examples":["Загрузить аватар сотрудника:\n $ pachca users update-avatar","Удалить аватар сотрудника:\n $ pachca users remove-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"file":{"description":"Файл изображения для аватара","name":"file","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:update-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_avatar:write","apiMethod":"PUT","apiPath":"/users/{user_id}/avatar","defaultColumns":["image_url"],"isESM":true,"relativePath":["dist","commands","users","update-avatar.js"]},"users:update-status":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Новый статус сотрудника","examples":["Управление статусом сотрудника:\n $ pachca users get-status","Управление статусом сотрудника:\n $ pachca users update-status","Управление статусом сотрудника:\n $ pachca users remove-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"emoji":{"description":"Emoji символ статуса","name":"emoji","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Текст статуса","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"expires-at":{"description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","name":"expires-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"is-away":{"description":"Режим «Нет на месте»","name":"is-away","allowNo":true,"type":"boolean"},"away-message":{"description":"Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях. (макс. 1024 символов)","name":"away-message","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:update-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_status:write","apiMethod":"PUT","apiPath":"/users/{user_id}/status","defaultColumns":["title","emoji","expires_at","is_away"],"requiredFlags":["emoji","title"],"isESM":true,"relativePath":["dist","commands","users","update-status.js"]},"version":{"aliases":[],"args":{},"description":"Версия CLI","examples":["<%= config.bin %> version"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"version","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","version.js"]},"views:open":{"aliases":[],"args":{},"description":"Открытие представления","examples":["Показать интерактивную форму пользователю:\n $ pachca views open","Опрос сотрудников через форму:\n $ pachca views open","Форма заявки/запроса:\n $ pachca views open"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"title":{"description":"Заголовок представления (макс. 24 символов)","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"close-text":{"description":"Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается. (макс. 24 символов)","name":"close-text","hasDynamicHelp":false,"multiple":false,"type":"option"},"submit-text":{"description":"Текст кнопки отправки формы (макс. 24 символов)","name":"submit-text","hasDynamicHelp":false,"multiple":false,"type":"option"},"blocks":{"description":"Массив блоков представления","name":"blocks","hasDynamicHelp":false,"multiple":false,"type":"option"},"type":{"description":"Способ открытия представления","name":"type","hasDynamicHelp":false,"multiple":false,"options":["modal"],"type":"option"},"trigger-id":{"description":"Уникальный идентификатор события (полученный, например, в исходящем вебхуке о нажатии кнопки)","name":"trigger-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"private-metadata":{"description":"Необязательная строка, которая будет отправлена в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для передачи в формате `JSON` какой то дополнительной информации вместе с заполненной пользователем формой. (макс. 3000 символов)","name":"private-metadata","hasDynamicHelp":false,"multiple":false,"type":"option"},"callback-id":{"description":"Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь. (макс. 255 символов)","name":"callback-id","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"views:open","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"views:write","apiMethod":"POST","apiPath":"/views/open","requiredFlags":["title","blocks","type","trigger-id"],"isESM":true,"relativePath":["dist","commands","views","open.js"]}},"version":"0.0.0"}
\ No newline at end of file
+{"commands":{"api":{"aliases":[],"args":{"method":{"description":"HTTP-метод (GET, POST, PUT, DELETE, PATCH)","name":"method","options":["GET","POST","PUT","DELETE","PATCH"],"required":true},"path":{"description":"Путь API (например, /messages)","name":"path","required":true}},"description":"Произвольный запрос к API. Список и справка: `api ls` (список эндпоинтов), `api <МЕТОД> <путь> --describe` / `--spec` / `--docs`","examples":["<%= config.bin %> api GET /messages --query chat_id=123","<%= config.bin %> api POST /messages -F message[chat_id]=12345 -f message[content]=\"Привет\"","<%= config.bin %> api POST /messages --input payload.json","<%= config.bin %> api POST /messages --data '{\"message\":{\"entity_id\":123,\"content\":\"Привет\"}}'","<%= config.bin %> api GET /profile -o yaml","<%= config.bin %> api ls","<%= config.bin %> api ls --json","<%= config.bin %> api POST /messages --describe","<%= config.bin %> api GET /messages --spec","<%= config.bin %> api POST /messages --docs"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"raw-field":{"char":"f","description":"Строковое поле (key=value)","name":"raw-field","hasDynamicHelp":false,"multiple":true,"type":"option"},"field":{"char":"F","description":"Типизированное поле (числа/boolean автоматически, @file читает файл)","name":"field","hasDynamicHelp":false,"multiple":true,"type":"option"},"input":{"description":"JSON-файл с телом запроса (- для stdin)","name":"input","hasDynamicHelp":false,"multiple":false,"type":"option"},"data":{"description":"Тело запроса инлайн JSON-строкой","name":"data","hasDynamicHelp":false,"multiple":false,"type":"option"},"query":{"description":"Query-параметр (key=value)","name":"query","hasDynamicHelp":false,"multiple":true,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"api","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":false,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","api.js"]},"auth:list":{"aliases":[],"args":{},"description":"Список сохранённых профилей","examples":["<%= config.bin %> auth list","<%= config.bin %> auth list -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","list.js"]},"auth:login":{"aliases":[],"args":{},"description":"Авторизация и сохранение токена","examples":["<%= config.bin %> auth login","<%= config.bin %> auth login --profile personal","<%= config.bin %> auth login --profile ci --token $PACHCA_TOKEN"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Имя профиля (по умолчанию \"default\")","name":"profile","default":"default","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Токен для сохранения (без интерактивного ввода)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:login","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","login.js"]},"auth:logout":{"aliases":[],"args":{"profile":{"description":"Имя профиля для удаления","name":"profile","required":false}},"description":"Удаление сохранённого профиля","examples":["<%= config.bin %> auth logout bot-notify","<%= config.bin %> auth logout"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:logout","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","logout.js"]},"auth:status":{"aliases":[],"args":{},"description":"Статус текущего профиля","examples":["<%= config.bin %> auth status","<%= config.bin %> auth status -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","status.js"]},"auth:switch":{"aliases":[],"args":{"profile":{"description":"Имя профиля для переключения","name":"profile","required":true}},"description":"Переключение активного профиля","examples":["<%= config.bin %> auth switch bot-support"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"auth:switch","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","auth","switch.js"]},"bots:create":{"aliases":[],"args":{},"description":"Новый бот","examples":["Создать бота через API и получить токен:\n $ pachca bots create","Настроить бота с исходящим вебхуком:\n $ pachca bots create","Найти и удалить бота:\n $ pachca bots list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Имя бота","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Никнейм бота. Должен заканчиваться на `_bot`.","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"outgoing-url":{"description":"URL исходящего вебхука","name":"outgoing-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"events":{"description":"События, на которые подписан бот","name":"events","hasDynamicHelp":false,"multiple":false,"type":"option"},"trigger-on":{"description":"Условие срабатывания исходящего вебхука","name":"trigger-on","hasDynamicHelp":false,"multiple":false,"type":"option"},"commands":{"description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","name":"commands","hasDynamicHelp":false,"multiple":false,"type":"option"},"scopes":{"description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","name":"scopes","hasDynamicHelp":false,"multiple":false,"type":"option"},"template":{"description":"Шаблон форматирования входящего вебхука","name":"template","hasDynamicHelp":false,"multiple":false,"type":"option"},"template-engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","name":"template-engine","hasDynamicHelp":false,"multiple":false,"type":"option"},"challenge-key":{"description":"Название поля проверки для верификации входящего вебхука","name":"challenge-key","hasDynamicHelp":false,"multiple":false,"type":"option"},"link-preview-enabled":{"description":"Показывать превью ссылок в сообщениях входящего вебхука","name":"link-preview-enabled","allowNo":true,"type":"boolean"},"ignore-self-messages":{"description":"Игнорировать входящие сообщения, отправленные самим ботом","name":"ignore-self-messages","allowNo":true,"type":"boolean"},"events-history-enabled":{"description":"Сохранять историю событий бота для последующего получения через метод истории событий","name":"events-history-enabled","allowNo":true,"type":"boolean"},"who-can-add":{"description":"Кто может добавлять бота в чаты","name":"who-can-add","hasDynamicHelp":false,"multiple":false,"type":"option"},"can-edit":{"description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","name":"can-edit","hasDynamicHelp":false,"multiple":false,"type":"option"},"single-chat":{"description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется.","name":"single-chat","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:write","apiMethod":"POST","apiPath":"/bots","defaultColumns":["id","webhook","access_token"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","bots","create.js"]},"bots:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор бота (pachca bots list)","name":"id","required":true}},"description":"Удаление бота","examples":["Обновить Webhook URL бота:\n $ pachca bots update","Найти и удалить бота:\n $ pachca bots delete"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:write","apiMethod":"DELETE","apiPath":"/bots/{id}","isESM":true,"relativePath":["dist","commands","bots","delete.js"]},"bots:get":{"aliases":[],"args":{"id":{"description":"Идентификатор бота (pachca bots list)","name":"id","required":true}},"description":"Информация о боте","examples":["Обновить Webhook URL бота:\n $ pachca bots update","Найти и удалить бота:\n $ pachca bots delete"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:read","apiMethod":"GET","apiPath":"/bots/{id}","defaultColumns":["id","webhook"],"isESM":true,"relativePath":["dist","commands","bots","get.js"]},"bots:list":{"aliases":[],"args":{},"description":"Список ботов","examples":["Создать бота через API и получить токен:\n $ pachca bots create","Настроить бота с исходящим вебхуком:\n $ pachca bots create","Найти и удалить бота:\n $ pachca bots list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Поисковая фраза для фильтрации ботов по имени","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:read","apiMethod":"GET","apiPath":"/bots","defaultColumns":["id","webhook"],"isESM":true,"relativePath":["dist","commands","bots","list.js"]},"bots:list-events":{"aliases":[],"args":{},"description":"История событий","examples":["Обработка событий через историю (polling):\n $ pachca bots list-events"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:list-events","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"webhooks:events:read","apiMethod":"GET","apiPath":"/webhooks/events","defaultColumns":["id","created_at","event_type","payload"],"isESM":true,"relativePath":["dist","commands","bots","list-events.js"]},"bots:recreate-token":{"aliases":[],"args":{"id":{"description":"Идентификатор бота (pachca bots list)","name":"id","required":true}},"description":"Ротация токена бота","examples":["Ротация токена бота:\n $ pachca bots recreate-token"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:recreate-token","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:write","apiMethod":"POST","apiPath":"/bots/{id}/recreate_token","defaultColumns":["id","webhook","access_token"],"isESM":true,"relativePath":["dist","commands","bots","recreate-token.js"]},"bots:recreate-token-self":{"aliases":[],"args":{},"description":"Ротация собственного токена бота","examples":["Ротация токена бота:\n $ pachca bots recreate-token-self"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:recreate-token-self","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bot_self:write","apiMethod":"POST","apiPath":"/bot/recreate_token","defaultColumns":["id","webhook","access_token"],"isESM":true,"relativePath":["dist","commands","bots","recreate-token-self.js"]},"bots:remove-event":{"aliases":[],"args":{"id":{"description":"Идентификатор события (pachca bots list)","name":"id","required":true}},"description":"Удаление события","examples":["Обработка событий через историю (polling):\n $ pachca bots remove-event"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:remove-event","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"webhooks:events:delete","apiMethod":"DELETE","apiPath":"/webhooks/events/{id}","isESM":true,"relativePath":["dist","commands","bots","remove-event.js"]},"bots:update":{"aliases":[],"args":{"id":{"description":"Идентификатор бота (pachca bots list)","name":"id","required":true}},"description":"Редактирование бота","examples":["Обновить Webhook URL бота:\n $ pachca bots update","Найти и удалить бота:\n $ pachca bots delete"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Имя бота","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Никнейм бота. Должен заканчиваться на `_bot`.","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"outgoing-url":{"description":"URL исходящего вебхука","name":"outgoing-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"events":{"description":"События, на которые подписан бот","name":"events","hasDynamicHelp":false,"multiple":false,"type":"option"},"trigger-on":{"description":"Условие срабатывания исходящего вебхука","name":"trigger-on","hasDynamicHelp":false,"multiple":false,"type":"option"},"commands":{"description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","name":"commands","hasDynamicHelp":false,"multiple":false,"type":"option"},"scopes":{"description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","name":"scopes","hasDynamicHelp":false,"multiple":false,"type":"option"},"template":{"description":"Шаблон форматирования входящего вебхука","name":"template","hasDynamicHelp":false,"multiple":false,"type":"option"},"template-engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","name":"template-engine","hasDynamicHelp":false,"multiple":false,"type":"option"},"challenge-key":{"description":"Название поля проверки для верификации входящего вебхука","name":"challenge-key","hasDynamicHelp":false,"multiple":false,"type":"option"},"link-preview-enabled":{"description":"Показывать превью ссылок в сообщениях входящего вебхука","name":"link-preview-enabled","allowNo":true,"type":"boolean"},"ignore-self-messages":{"description":"Игнорировать входящие сообщения, отправленные самим ботом","name":"ignore-self-messages","allowNo":true,"type":"boolean"},"events-history-enabled":{"description":"Сохранять историю событий бота для последующего получения через метод истории событий","name":"events-history-enabled","allowNo":true,"type":"boolean"},"who-can-add":{"description":"Кто может добавлять бота в чаты","name":"who-can-add","hasDynamicHelp":false,"multiple":false,"type":"option"},"can-edit":{"description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","name":"can-edit","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bots:write","apiMethod":"PUT","apiPath":"/bots/{id}","defaultColumns":["id","webhook"],"isESM":true,"relativePath":["dist","commands","bots","update.js"]},"bots:update-webhook":{"aliases":[],"args":{},"description":"Саморегистрация вебхука бота","examples":["Обновить Webhook URL бота:\n $ pachca bots update-webhook"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"outgoing-url":{"description":"URL исходящего вебхука. Пустая строка отключает вебхук.","name":"outgoing-url","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"bots:update-webhook","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"bot_self:webhook:write","apiMethod":"PUT","apiPath":"/bot/webhook","defaultColumns":["id","webhook"],"requiredFlags":["outgoing-url"],"isESM":true,"relativePath":["dist","commands","bots","update-webhook.js"]},"changelog":{"aliases":[],"args":{},"description":"История изменений CLI","examples":["<%= config.bin %> changelog","<%= config.bin %> changelog -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"changelog","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","changelog.js"]},"chats:archive":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Архивация чата","examples":["Архивация и управление чатом:\n $ pachca chats archive","Найти и заархивировать неактивные чаты:\n $ pachca chats archive"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:archive","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:archive","apiMethod":"PUT","apiPath":"/chats/{id}/archive","isESM":true,"relativePath":["dist","commands","chats","archive.js"]},"chats:create":{"aliases":[],"args":{},"description":"Новый чат","examples":["Создать канал и пригласить участников:\n $ pachca chats create","Создать проектную беседу из шаблона:\n $ pachca chats create","Найти активные чаты за период:\n $ pachca chats list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"member-ids":{"description":"Массив идентификаторов пользователей, которые станут участниками","name":"member-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"group-tag-ids":{"description":"Массив идентификаторов тегов, которые станут участниками","name":"group-tag-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"channel":{"description":"Является каналом","name":"channel","allowNo":true,"type":"boolean"},"public":{"description":"Открытый доступ","name":"public","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:create","apiMethod":"POST","apiPath":"/chats","defaultColumns":["id","name","created_at","owner_id","channel"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","chats","create.js"]},"chats:download-export":{"aliases":[],"args":{"id":{"description":"Идентификатор экспорта (pachca chats list)","name":"id","required":true}},"description":"Скачать архив экспорта","examples":["Экспорт истории чата:\n $ pachca chats download-export"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"save":{"description":"Путь для сохранения файла","name":"save","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["common:get-exports"],"id":"chats:download-export","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_exports:read","plan":"corporation","apiMethod":"GET","apiPath":"/chats/exports/{id}","isESM":true,"relativePath":["dist","commands","chats","download-export.js"]},"chats:get":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Информация о чате","examples":["Переименовать или обновить чат:\n $ pachca chats update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:read","apiMethod":"GET","apiPath":"/chats/{id}","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","chats","get.js"]},"chats:list":{"aliases":[],"args":{},"description":"Список чатов","examples":["Создать канал и пригласить участников:\n $ pachca chats create","Создать проектную беседу из шаблона:\n $ pachca chats create","Найти активные чаты за период:\n $ pachca chats list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"sort":{"description":"Поле сортировки","name":"sort","default":"id","hasDynamicHelp":false,"multiple":false,"options":["id","last_message_at"],"type":"option"},"order":{"description":"Направление сортировки","name":"order","default":"desc","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"availability":{"description":"Параметр, который отвечает за доступность и выборку чатов для пользователя","name":"availability","default":"is_member","hasDynamicHelp":false,"multiple":false,"options":["is_member","public"],"type":"option"},"last-message-at-after":{"description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-after","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-message-at-before":{"description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-before","hasDynamicHelp":false,"multiple":false,"type":"option"},"personal":{"description":"Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.","name":"personal","allowNo":true,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:read","apiMethod":"GET","apiPath":"/chats","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","chats","list.js"]},"chats:request-export":{"aliases":[],"args":{},"description":"Экспорт сообщений","examples":["Экспорт истории чата:\n $ pachca chats request-export"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"start-at":{"description":"Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","name":"start-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"end-at":{"description":"Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","name":"end-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"webhook-url":{"description":"Адрес, на который будет отправлен вебхук по завершению экспорта","name":"webhook-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-ids":{"description":"Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.","name":"chat-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"skip-chats-file":{"description":"Пропуск формирования файла со списком чатов (chats.json)","name":"skip-chats-file","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":["common:request-export"],"id":"chats:request-export","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_exports:write","plan":"corporation","apiMethod":"POST","apiPath":"/chats/exports","requiredFlags":["start-at","end-at","webhook-url"],"isESM":true,"relativePath":["dist","commands","chats","request-export.js"]},"chats:unarchive":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Разархивация чата","examples":["Архивация и управление чатом:\n $ pachca chats unarchive"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:unarchive","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:archive","apiMethod":"PUT","apiPath":"/chats/{id}/unarchive","isESM":true,"relativePath":["dist","commands","chats","unarchive.js"]},"chats:update":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (pachca chats list)","name":"id","required":true}},"description":"Редактирование чата","examples":["Переименовать или обновить чат:\n $ pachca chats update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"public":{"description":"Открытый доступ","name":"public","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"chats:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:update","apiMethod":"PUT","apiPath":"/chats/{id}","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","chats","update.js"]},"commands":{"aliases":[],"args":{},"description":"Список всех команд","examples":["<%= config.bin %> commands","<%= config.bin %> commands --available","<%= config.bin %> commands --available -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"available":{"description":"Показать только команды, доступные текущему токену","name":"available","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"commands","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","commands.js"]},"config:get":{"aliases":[],"args":{"key":{"description":"Ключ настройки","name":"key","required":true}},"description":"Получение значения конфигурации","examples":["<%= config.bin %> config get defaults.output"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"config:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","config","get.js"]},"config:list":{"aliases":[],"args":{},"description":"Список всех настроек","examples":["<%= config.bin %> config list","<%= config.bin %> config list -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"config:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","config","list.js"]},"config:set":{"aliases":[],"args":{"key":{"description":"Ключ настройки","name":"key","required":true},"value":{"description":"Значение настройки","name":"value","required":true}},"description":"Установка значения конфигурации","examples":["<%= config.bin %> config set defaults.output json","<%= config.bin %> config set defaults.timeout 60"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"config:set","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","config","set.js"]},"custom-properties:list":{"aliases":[],"args":{},"description":"Список дополнительных полей","examples":["Получить кастомные поля профиля:\n $ pachca custom-properties list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"entity-type":{"description":"Тип сущности","name":"entity-type","hasDynamicHelp":false,"multiple":false,"options":["User","Task"],"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["common:custom-properties"],"id":"custom-properties:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"custom_properties:read","apiMethod":"GET","apiPath":"/custom_properties","defaultColumns":["id","name","data_type"],"requiredFlags":["entity-type"],"isESM":true,"relativePath":["dist","commands","custom-properties","list.js"]},"doctor":{"aliases":[],"args":{},"description":"Диагностика окружения: Node.js, сеть, токен, конфигурация","examples":["<%= config.bin %> doctor","<%= config.bin %> doctor -o json"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"doctor","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","doctor.js"]},"files:direct-url":{"aliases":[],"args":{},"description":"Загрузка файла","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"direct-url":{"description":"URL для отправки запроса (получается из ответа POST /uploads)","name":"direct-url","required":true,"hasDynamicHelp":false,"multiple":false,"type":"option"},"content-disposition":{"description":"Параметр Content-Disposition, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"content-disposition","hasDynamicHelp":false,"multiple":false,"type":"option"},"acl":{"description":"Параметр acl, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"acl","hasDynamicHelp":false,"multiple":false,"type":"option"},"policy":{"description":"Параметр policy, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"policy","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-credential":{"description":"Параметр x-amz-credential, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-credential","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-algorithm":{"description":"Параметр x-amz-algorithm, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-algorithm","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-date":{"description":"Параметр x-amz-date, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-date","hasDynamicHelp":false,"multiple":false,"type":"option"},"x-amz-signature":{"description":"Параметр x-amz-signature, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"x-amz-signature","hasDynamicHelp":false,"multiple":false,"type":"option"},"key":{"description":"Параметр key, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)","name":"key","hasDynamicHelp":false,"multiple":false,"type":"option"},"file":{"description":"Файл для загрузки","name":"file","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["common:direct-url"],"id":"files:direct-url","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"apiMethod":"POST","apiPath":"/direct_url","requiredFlags":["content-disposition","acl","policy","x-amz-credential","x-amz-algorithm","x-amz-date","x-amz-signature","key"],"isESM":true,"relativePath":["dist","commands","files","direct-url.js"]},"files:uploads":{"aliases":[],"args":{},"description":"Получение подписи, ключа и других параметров","examples":["Изменить вложения сообщения:\n $ pachca files uploads"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":["common:uploads"],"id":"files:uploads","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"uploads:write","apiMethod":"POST","apiPath":"/uploads","defaultColumns":["Content-Disposition","acl","policy","x-amz-credential","x-amz-algorithm"],"isESM":true,"relativePath":["dist","commands","files","uploads.js"]},"group-tags:create":{"aliases":[],"args":{},"description":"Новый тег","examples":["Массовое создание сотрудников с тегами:\n $ pachca group-tags create","Получить всех сотрудников тега/департамента:\n $ pachca group-tags list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название тега","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:write","apiMethod":"POST","apiPath":"/group_tags","defaultColumns":["id","name","users_count"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","group-tags","create.js"]},"group-tags:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Удаление тега","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:write","apiMethod":"DELETE","apiPath":"/group_tags/{id}","isESM":true,"relativePath":["dist","commands","group-tags","delete.js"]},"group-tags:get":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Информация о теге","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:read","apiMethod":"GET","apiPath":"/group_tags/{id}","defaultColumns":["id","name","users_count"],"isESM":true,"relativePath":["dist","commands","group-tags","get.js"]},"group-tags:list":{"aliases":[],"args":{},"description":"Список тегов сотрудников","examples":["Массовое создание сотрудников с тегами:\n $ pachca group-tags create","Получить всех сотрудников тега/департамента:\n $ pachca group-tags list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"names":{"description":"Массив названий тегов, по которым вы хотите отфильтровать список (через запятую)","name":"names","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:read","apiMethod":"GET","apiPath":"/group_tags","defaultColumns":["id","name","users_count"],"isESM":true,"relativePath":["dist","commands","group-tags","list.js"]},"group-tags:list-users":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Список сотрудников тега","examples":["Получить всех сотрудников тега/департамента:\n $ pachca group-tags list-users"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:list-users","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:read","apiMethod":"GET","apiPath":"/group_tags/{id}/users","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","group-tags","list-users.js"]},"group-tags:update":{"aliases":[],"args":{"id":{"description":"Идентификатор тега","name":"id","required":true}},"description":"Редактирование тега","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"name":{"description":"Название тега","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"group-tags:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"group_tags:write","apiMethod":"PUT","apiPath":"/group_tags/{id}","defaultColumns":["id","name","users_count"],"requiredFlags":["name"],"isESM":true,"relativePath":["dist","commands","group-tags","update.js"]},"guide":{"aliases":[],"args":{"query":{"description":"Поисковый запрос","name":"query","required":false}},"description":"Поиск сценариев использования","examples":["<%= config.bin %> guide \"отправить файл\"","<%= config.bin %> guide \"создать бота\"","<%= config.bin %> guide"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"guide","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","guide.js"]},"introspect":{"aliases":[],"args":{"command":{"description":"Имя команды (например, \"messages create\")","name":"command","required":false}},"description":"Метаданные команды в машиночитаемом формате","examples":["<%= config.bin %> introspect messages create","<%= config.bin %> introspect"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"introspect","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":false,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","introspect.js"]},"members:add":{"aliases":[],"args":{"id":{"description":"Идентификатор чата (беседа, канал или чат треда)","name":"id","required":true}},"description":"Добавление пользователей","examples":["Подписаться на тред сообщения:\n $ pachca members add","Упомянуть пользователя:\n $ pachca members list","Создать канал и пригласить участников:\n $ pachca members add"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"member-ids":{"description":"Массив идентификаторов пользователей, которые станут участниками","name":"member-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"silent":{"description":"Не создавать в чате системное сообщение о добавлении участника","name":"silent","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:add","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"POST","apiPath":"/chats/{id}/members","requiredFlags":["member-ids"],"isESM":true,"relativePath":["dist","commands","members","add.js"]},"members:add-group-tags":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true}},"description":"Добавление тегов","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"group-tag-ids":{"description":"Массив идентификаторов тегов, которые станут участниками","name":"group-tag-ids","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:add-group-tags","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"POST","apiPath":"/chats/{id}/group_tags","requiredFlags":["group-tag-ids"],"isESM":true,"relativePath":["dist","commands","members","add-group-tags.js"]},"members:leave":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true}},"description":"Выход из беседы или канала","examples":["Архивация и управление чатом:\n $ pachca members leave"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:leave","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chats:leave","apiMethod":"DELETE","apiPath":"/chats/{id}/leave","isESM":true,"relativePath":["dist","commands","members","leave.js"]},"members:list":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true}},"description":"Список участников чата","examples":["Подписаться на тред сообщения:\n $ pachca members add","Упомянуть пользователя:\n $ pachca members list","Создать канал и пригласить участников:\n $ pachca members add"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"role":{"description":"Роль в чате","name":"role","default":"all","hasDynamicHelp":false,"multiple":false,"options":["all","owner","admin","editor","member"],"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:read","apiMethod":"GET","apiPath":"/chats/{id}/members","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","members","list.js"]},"members:remove":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true},"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Исключение пользователя","examples":["Архивация и управление чатом:\n $ pachca members update","Архивация и управление чатом:\n $ pachca members remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:remove","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"DELETE","apiPath":"/chats/{id}/members/{user_id}","isESM":true,"relativePath":["dist","commands","members","remove.js"]},"members:remove-group-tag":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true},"tag_id":{"description":"Идентификатор тега (pachca tags list)","name":"tag_id","required":true}},"description":"Исключение тега","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:remove-group-tag","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"DELETE","apiPath":"/chats/{id}/group_tags/{tag_id}","isESM":true,"relativePath":["dist","commands","members","remove-group-tag.js"]},"members:update":{"aliases":[],"args":{"id":{"description":"Идентификатор чата","name":"id","required":true},"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Редактирование роли","examples":["Архивация и управление чатом:\n $ pachca members update","Архивация и управление чатом:\n $ pachca members remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"role":{"description":"Роль","name":"role","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"members:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"chat_members:write","apiMethod":"PUT","apiPath":"/chats/{id}/members/{user_id}","requiredFlags":["role"],"isESM":true,"relativePath":["dist","commands","members","update.js"]},"messages:create":{"aliases":[],"args":{},"description":"Новое сообщение","examples":["Найти чат по имени и отправить сообщение:\n $ pachca messages create","Отправить сообщение в канал или беседу (если chat_id известен):\n $ pachca messages create","Отправить личное сообщение пользователю:\n $ pachca messages create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"entity-type":{"description":"Тип сущности","name":"entity-type","hasDynamicHelp":false,"multiple":false,"type":"option"},"entity-id":{"description":"Идентификатор сущности (pachca chats list | pachca users list)","name":"entity-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"content":{"description":"Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"files":{"description":"Прикрепляемые файлы","name":"files","hasDynamicHelp":false,"multiple":false,"type":"option"},"buttons":{"description":"Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.","name":"buttons","hasDynamicHelp":false,"multiple":false,"type":"option"},"parent-message-id":{"description":"Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.","name":"parent-message-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-avatar-url":{"description":"Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота. (макс. 255 символов)","name":"display-avatar-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-name":{"description":"Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота. (макс. 255 символов)","name":"display-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"skip-invite-mentions":{"description":"Пропуск добавления упоминаемых пользователей в тред. Работает только при отправке сообщения в тред.","name":"skip-invite-mentions","allowNo":true,"type":"boolean"},"link-preview":{"description":"Отображение предпросмотра первой найденной ссылки в тексте сообщения","name":"link-preview","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:create","apiMethod":"POST","apiPath":"/messages","defaultColumns":["id","content","created_at","entity_type","entity_id"],"requiredFlags":["entity-id","content"],"isESM":true,"relativePath":["dist","commands","messages","create.js"]},"messages:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Удаление сообщения","examples":["Получить вложения из сообщения:\n $ pachca messages get","Отредактировать сообщение:\n $ pachca messages update","Изменить вложения сообщения:\n $ pachca messages get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:delete","apiMethod":"DELETE","apiPath":"/messages/{id}","isESM":true,"relativePath":["dist","commands","messages","delete.js"]},"messages:get":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Информация о сообщении","examples":["Получить вложения из сообщения:\n $ pachca messages get","Отредактировать сообщение:\n $ pachca messages update","Изменить вложения сообщения:\n $ pachca messages get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:read","apiMethod":"GET","apiPath":"/messages/{id}","defaultColumns":["id","content","created_at","entity_type","entity_id"],"isESM":true,"relativePath":["dist","commands","messages","get.js"]},"messages:list":{"aliases":[],"args":{"chat_id":{"description":"Идентификатор чата (беседа, канал, диалог или чат треда)","name":"chat_id","required":false}},"description":"Список сообщений чата","examples":["Найти чат по имени и отправить сообщение:\n $ pachca messages create","Отправить сообщение в канал или беседу (если chat_id известен):\n $ pachca messages create","Отправить личное сообщение пользователю:\n $ pachca messages create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"chat-id":{"description":"Идентификатор чата (беседа, канал, диалог или чат треда)","name":"chat-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"sort":{"description":"Поле сортировки","name":"sort","default":"id","hasDynamicHelp":false,"multiple":false,"options":["id"],"type":"option"},"order":{"description":"Направление сортировки","name":"order","default":"desc","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:read","apiMethod":"GET","apiPath":"/messages","defaultColumns":["id","content","created_at","entity_type","entity_id"],"requiredFlags":["chat-id"],"isESM":true,"relativePath":["dist","commands","messages","list.js"]},"messages:pin":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Закрепление сообщения","examples":["Закрепить/открепить сообщение:\n $ pachca messages pin","Закрепить/открепить сообщение:\n $ pachca messages unpin"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:pin","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"pins:write","apiMethod":"POST","apiPath":"/messages/{id}/pin","isESM":true,"relativePath":["dist","commands","messages","pin.js"]},"messages:unfurl":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Unfurl (разворачивание ссылок)","examples":["Разворачивание ссылок (unfurling):\n $ pachca messages unfurl"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"link-previews":{"description":"`JSON` карта предпросмотров ссылок, где каждый ключ — `URL`, который был получен в исходящем вебхуке о новом сообщении.","name":"link-previews","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":["link-previews:add"],"id":"messages:unfurl","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"link_previews:write","apiMethod":"POST","apiPath":"/messages/{id}/link_previews","requiredFlags":["link-previews"],"isESM":true,"relativePath":["dist","commands","messages","unfurl.js"]},"messages:unpin":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Открепление сообщения","examples":["Закрепить/открепить сообщение:\n $ pachca messages pin","Закрепить/открепить сообщение:\n $ pachca messages unpin"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:unpin","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"pins:write","apiMethod":"DELETE","apiPath":"/messages/{id}/pin","isESM":true,"relativePath":["dist","commands","messages","unpin.js"]},"messages:update":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения (pachca messages list)","name":"id","required":true}},"description":"Редактирование сообщения","examples":["Получить вложения из сообщения:\n $ pachca messages get","Отредактировать сообщение:\n $ pachca messages update","Изменить вложения сообщения:\n $ pachca messages get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"content":{"description":"Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"files":{"description":"Прикрепляемые файлы","name":"files","hasDynamicHelp":false,"multiple":false,"type":"option"},"buttons":{"description":"Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке. Для удаления кнопок пришлите пустой массив.","name":"buttons","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-avatar-url":{"description":"Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","name":"display-avatar-url","hasDynamicHelp":false,"multiple":false,"type":"option"},"display-name":{"description":"Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","name":"display-name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"messages:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:update","apiMethod":"PUT","apiPath":"/messages/{id}","defaultColumns":["id","content","created_at","entity_type","entity_id"],"isESM":true,"relativePath":["dist","commands","messages","update.js"]},"oauth:token-info":{"aliases":[],"args":{},"description":"Информация о токене","examples":["Проверить свой токен:\n $ pachca oauth token-info"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":["profile:get-info"],"id":"oauth:token-info","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"apiMethod":"GET","apiPath":"/oauth/token/info","defaultColumns":["id","name","created_at","token","user_id"],"isESM":true,"relativePath":["dist","commands","oauth","token-info.js"]},"profile:delete-avatar":{"aliases":[],"args":{},"description":"Удаление своего аватара","examples":["Загрузить аватар профиля:\n $ pachca profile update-avatar","Удалить аватар профиля:\n $ pachca profile delete-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:delete-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_avatar:write","apiMethod":"DELETE","apiPath":"/profile/avatar","isESM":true,"relativePath":["dist","commands","profile","delete-avatar.js"]},"profile:delete-status":{"aliases":[],"args":{},"description":"Удаление своего статуса","examples":["Установить статус:\n $ pachca profile update-status","Сбросить статус:\n $ pachca profile delete-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:delete-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_status:write","apiMethod":"DELETE","apiPath":"/profile/status","isESM":true,"relativePath":["dist","commands","profile","delete-status.js"]},"profile:get":{"aliases":[],"args":{},"description":"Свой профиль","examples":["Получить свой профиль:\n $ pachca profile get","Получить кастомные поля профиля:\n $ pachca profile get"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile:read","apiMethod":"GET","apiPath":"/profile","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","profile","get.js"]},"profile:get-status":{"aliases":[],"args":{},"description":"Свой статус","examples":["Установить статус:\n $ pachca profile update-status","Сбросить статус:\n $ pachca profile delete-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:get-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_status:read","apiMethod":"GET","apiPath":"/profile/status","defaultColumns":["title","emoji","expires_at","is_away"],"isESM":true,"relativePath":["dist","commands","profile","get-status.js"]},"profile:update-avatar":{"aliases":[],"args":{},"description":"Загрузка своего аватара","examples":["Загрузить аватар профиля:\n $ pachca profile update-avatar","Удалить аватар профиля:\n $ pachca profile delete-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"file":{"description":"Файл изображения для аватара","name":"file","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:update-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_avatar:write","apiMethod":"PUT","apiPath":"/profile/avatar","defaultColumns":["image_url"],"isESM":true,"relativePath":["dist","commands","profile","update-avatar.js"]},"profile:update-status":{"aliases":[],"args":{},"description":"Новый свой статус","examples":["Установить статус:\n $ pachca profile update-status","Сбросить статус:\n $ pachca profile delete-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"emoji":{"description":"Emoji символ статуса","name":"emoji","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Текст статуса","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"expires-at":{"description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","name":"expires-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"is-away":{"description":"Режим «Нет на месте»","name":"is-away","allowNo":true,"type":"boolean"},"away-message":{"description":"Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях. (макс. 1024 символов)","name":"away-message","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"profile:update-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"profile_status:write","apiMethod":"PUT","apiPath":"/profile/status","defaultColumns":["title","emoji","expires_at","is_away"],"requiredFlags":["emoji","title"],"isESM":true,"relativePath":["dist","commands","profile","update-status.js"]},"reactions:add":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Добавление реакции","examples":["Добавить реакцию на сообщение:\n $ pachca reactions add","Добавить реакцию на сообщение:\n $ pachca reactions remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"code":{"description":"Emoji символ реакции","name":"code","hasDynamicHelp":false,"multiple":false,"type":"option"},"name":{"description":"Текстовое имя эмодзи (используется для кастомных эмодзи)","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"reactions:add","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"reactions:write","apiMethod":"POST","apiPath":"/messages/{id}/reactions","defaultColumns":["name","created_at","user_id","code"],"requiredFlags":["code"],"isESM":true,"relativePath":["dist","commands","reactions","add.js"]},"reactions:list":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Список реакций","examples":["Добавить реакцию на сообщение:\n $ pachca reactions add","Добавить реакцию на сообщение:\n $ pachca reactions remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"reactions:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"reactions:read","apiMethod":"GET","apiPath":"/messages/{id}/reactions","defaultColumns":["name","created_at","user_id","code"],"isESM":true,"relativePath":["dist","commands","reactions","list.js"]},"reactions:remove":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Удаление реакции","examples":["Добавить реакцию на сообщение:\n $ pachca reactions add","Добавить реакцию на сообщение:\n $ pachca reactions remove"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"code":{"description":"Emoji символ реакции","name":"code","hasDynamicHelp":false,"multiple":false,"type":"option"},"name":{"description":"Текстовое имя эмодзи (используется для кастомных эмодзи)","name":"name","hasDynamicHelp":false,"multiple":false,"type":"option"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"reactions:remove","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"reactions:write","apiMethod":"DELETE","apiPath":"/messages/{id}/reactions","requiredFlags":["code"],"isESM":true,"relativePath":["dist","commands","reactions","remove.js"]},"read-member:list-readers":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Список прочитавших сообщение","examples":["Проверить, кто прочитал сообщение:\n $ pachca read-member list-readers"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"read-member:list-readers","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"messages:read","apiMethod":"GET","apiPath":"/messages/{id}/read_member_ids","isESM":true,"relativePath":["dist","commands","read-member","list-readers.js"]},"search:list-chats":{"aliases":[],"args":{},"description":"Поиск чатов","examples":["Найти чат по имени и отправить сообщение:\n $ pachca search list-chats","Найти чат по названию:\n $ pachca search list-chats"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Текст поискового запроса","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"order":{"description":"Направление сортировки","name":"order","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"created-from":{"description":"Фильтр по дате создания (от)","name":"created-from","hasDynamicHelp":false,"multiple":false,"type":"option"},"created-to":{"description":"Фильтр по дате создания (до)","name":"created-to","hasDynamicHelp":false,"multiple":false,"type":"option"},"active":{"description":"Фильтр по активности чата","name":"active","allowNo":true,"type":"boolean"},"chat-subtype":{"description":"Фильтр по типу чата","name":"chat-subtype","hasDynamicHelp":false,"multiple":false,"options":["discussion","thread"],"type":"option"},"personal":{"description":"Фильтр по личным чатам","name":"personal","allowNo":true,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"search:list-chats","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"search:chats","apiMethod":"GET","apiPath":"/search/chats","defaultColumns":["id","name","created_at","owner_id","channel"],"isESM":true,"relativePath":["dist","commands","search","list-chats.js"]},"search:list-messages":{"aliases":[],"args":{},"description":"Поиск сообщений","examples":["Найти сообщение по тексту:\n $ pachca search list-messages"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Текст поискового запроса","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"order":{"description":"Направление сортировки","name":"order","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"sort":{"description":"Сортировка результатов","name":"sort","default":"created_at","hasDynamicHelp":false,"multiple":false,"options":["created_at","relevance"],"type":"option"},"created-from":{"description":"Фильтр по дате создания (от)","name":"created-from","hasDynamicHelp":false,"multiple":false,"type":"option"},"created-to":{"description":"Фильтр по дате создания (до)","name":"created-to","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-ids":{"description":"Фильтр по ID чатов (через запятую)","name":"chat-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"user-ids":{"description":"Фильтр по ID авторов сообщений (через запятую)","name":"user-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"active":{"description":"Фильтр по активности чата","name":"active","allowNo":true,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"search:list-messages","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"search:messages","apiMethod":"GET","apiPath":"/search/messages","defaultColumns":["id","content","created_at","entity_type","entity_id"],"isESM":true,"relativePath":["dist","commands","search","list-messages.js"]},"search:list-users":{"aliases":[],"args":{},"description":"Поиск сотрудников","examples":["Отправить личное сообщение пользователю:\n $ pachca search list-users","Упомянуть пользователя:\n $ pachca search list-users","Найти сотрудника по имени:\n $ pachca search list-users"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Текст поискового запроса","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"sort":{"description":"Сортировка результатов","name":"sort","hasDynamicHelp":false,"multiple":false,"options":["by_score","alphabetical","creation"],"type":"option"},"order":{"description":"Направление сортировки","name":"order","hasDynamicHelp":false,"multiple":false,"options":["asc","desc"],"type":"option"},"created-from":{"description":"Фильтр по дате создания (от)","name":"created-from","hasDynamicHelp":false,"multiple":false,"type":"option"},"created-to":{"description":"Фильтр по дате создания (до)","name":"created-to","hasDynamicHelp":false,"multiple":false,"type":"option"},"company-roles":{"description":"Фильтр по ролям сотрудников (через запятую)","name":"company-roles","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"search:list-users","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"search:users","apiMethod":"GET","apiPath":"/search/users","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","search","list-users.js"]},"security:list":{"aliases":[],"args":{},"description":"Журнал аудита событий","examples":["Получить журнал аудита событий:\n $ pachca security list","Мониторинг подозрительных входов:\n $ pachca security list","Экспорт логов за период:\n $ pachca security list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"start-time":{"description":"Начальная метка времени (включительно)","name":"start-time","hasDynamicHelp":false,"multiple":false,"type":"option"},"end-time":{"description":"Конечная метка времени (исключительно)","name":"end-time","hasDynamicHelp":false,"multiple":false,"type":"option"},"event-key":{"description":"Фильтр по конкретному типу события","name":"event-key","hasDynamicHelp":false,"multiple":false,"options":["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated","bot_deleted"],"type":"option"},"actor-id":{"description":"Идентификатор пользователя, выполнившего действие","name":"actor-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"actor-type":{"description":"Тип актора","name":"actor-type","hasDynamicHelp":false,"multiple":false,"type":"option"},"entity-id":{"description":"Идентификатор затронутой сущности","name":"entity-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"entity-type":{"description":"Тип сущности","name":"entity-type","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"security:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"audit_events:read","plan":"corporation","apiMethod":"GET","apiPath":"/audit_events","defaultColumns":["id","created_at","event_key","entity_id","entity_type"],"isESM":true,"relativePath":["dist","commands","security","list.js"]},"tasks:create":{"aliases":[],"args":{},"description":"Новое напоминание","examples":["Форма заявки/запроса:\n $ pachca tasks create","Создать напоминание:\n $ pachca tasks create","Получить список предстоящих задач:\n $ pachca tasks list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"kind":{"description":"Тип","name":"kind","hasDynamicHelp":false,"multiple":false,"type":"option"},"content":{"description":"Описание (по умолчанию — название типа)","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"due-at":{"description":"Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).","name":"due-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"priority":{"description":"Приоритет: 1, 2 (важно) или 3 (очень важно).","name":"priority","hasDynamicHelp":false,"multiple":false,"type":"option"},"performer-ids":{"description":"Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные» (по умолчанию ответственным назначается вы)","name":"performer-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-id":{"description":"Идентификатор чата, к которому привязывается напоминание (pachca chats list)","name":"chat-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"all-day":{"description":"Напоминание на весь день (без указания времени)","name":"all-day","allowNo":true,"type":"boolean"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:create","apiMethod":"POST","apiPath":"/tasks","defaultColumns":["id","content","created_at","kind","due_at"],"requiredFlags":["kind"],"isESM":true,"relativePath":["dist","commands","tasks","create.js"]},"tasks:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор напоминания (pachca tasks list)","name":"id","required":true}},"description":"Удаление напоминания","examples":["Получить задачу по ID:\n $ pachca tasks get","Отметить задачу выполненной:\n $ pachca tasks update","Обновить задачу (перенести срок, сменить ответственных):\n $ pachca tasks update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:delete","apiMethod":"DELETE","apiPath":"/tasks/{id}","isESM":true,"relativePath":["dist","commands","tasks","delete.js"]},"tasks:get":{"aliases":[],"args":{"id":{"description":"Идентификатор напоминания (pachca tasks list)","name":"id","required":true}},"description":"Информация о напоминании","examples":["Получить задачу по ID:\n $ pachca tasks get","Отметить задачу выполненной:\n $ pachca tasks update","Обновить задачу (перенести срок, сменить ответственных):\n $ pachca tasks update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:read","apiMethod":"GET","apiPath":"/tasks/{id}","defaultColumns":["id","content","created_at","kind","due_at"],"isESM":true,"relativePath":["dist","commands","tasks","get.js"]},"tasks:list":{"aliases":[],"args":{},"description":"Список напоминаний","examples":["Форма заявки/запроса:\n $ pachca tasks create","Создать напоминание:\n $ pachca tasks create","Получить список предстоящих задач:\n $ pachca tasks list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:read","apiMethod":"GET","apiPath":"/tasks","defaultColumns":["id","content","created_at","kind","due_at"],"isESM":true,"relativePath":["dist","commands","tasks","list.js"]},"tasks:update":{"aliases":[],"args":{"id":{"description":"Идентификатор напоминания (pachca tasks list)","name":"id","required":true}},"description":"Редактирование напоминания","examples":["Получить задачу по ID:\n $ pachca tasks get","Отметить задачу выполненной:\n $ pachca tasks update","Обновить задачу (перенести срок, сменить ответственных):\n $ pachca tasks update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"kind":{"description":"Тип","name":"kind","hasDynamicHelp":false,"multiple":false,"type":"option"},"content":{"description":"Описание","name":"content","hasDynamicHelp":false,"multiple":false,"type":"option"},"due-at":{"description":"Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).","name":"due-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"priority":{"description":"Приоритет: 1, 2 (важно) или 3 (очень важно).","name":"priority","hasDynamicHelp":false,"multiple":false,"type":"option"},"performer-ids":{"description":"Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные»","name":"performer-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"status":{"description":"Статус","name":"status","hasDynamicHelp":false,"multiple":false,"type":"option"},"all-day":{"description":"Напоминание на весь день (без указания времени)","name":"all-day","allowNo":true,"type":"boolean"},"done-at":{"description":"Дата и время выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","name":"done-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"tasks:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"tasks:update","apiMethod":"PUT","apiPath":"/tasks/{id}","defaultColumns":["id","content","created_at","kind","due_at"],"isESM":true,"relativePath":["dist","commands","tasks","update.js"]},"threads:add":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Новый тред","examples":["Ответить в тред (комментарий к сообщению):\n $ pachca thread add","Подписаться на тред сообщения:\n $ pachca thread add"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"threads:add","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"threads:create","apiMethod":"POST","apiPath":"/messages/{id}/thread","defaultColumns":["id","chat_id","message_id","message_chat_id","updated_at"],"isESM":true,"relativePath":["dist","commands","threads","add.js"]},"threads:get":{"aliases":[],"args":{"id":{"description":"Идентификатор треда","name":"id","required":true}},"description":"Информация о треде","flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"threads:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"threads:read","apiMethod":"GET","apiPath":"/threads/{id}","defaultColumns":["id","chat_id","message_id","message_chat_id","updated_at"],"isESM":true,"relativePath":["dist","commands","threads","get.js"]},"threads:list":{"aliases":[],"args":{},"description":"Список тредов","examples":["Получить список активных тредов за период:\n $ pachca threads list"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"last-message-at-after":{"description":"Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-after","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-message-at-before":{"description":"Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","name":"last-message-at-before","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"threads:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"threads:read","apiMethod":"GET","apiPath":"/threads","defaultColumns":["id","chat_id","message_id","message_chat_id","updated_at"],"isESM":true,"relativePath":["dist","commands","threads","list.js"]},"upgrade":{"aliases":[],"args":{},"description":"Обновить CLI до последней версии","examples":["<%= config.bin %> upgrade"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"upgrade","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","upgrade.js"]},"upload":{"aliases":[],"args":{"file":{"description":"Путь к файлу или - для stdin","name":"file","required":true}},"description":"Загрузить файл (получает подпись и загружает автоматически)","examples":["<%= config.bin %> upload photo.jpg","cat data.csv | <%= config.bin %> upload -"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"upload","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"uploads:write","isESM":true,"relativePath":["dist","commands","upload.js"]},"users:create":{"aliases":[],"args":{},"description":"Новый сотрудник","examples":["Проверить, кто прочитал сообщение:\n $ pachca users list","Разослать уведомление нескольким пользователям:\n $ pachca users list","Массовое создание сотрудников с тегами:\n $ pachca users create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"first-name":{"description":"Имя","name":"first-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-name":{"description":"Фамилия","name":"last-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"email":{"description":"Электронная почта","name":"email","hasDynamicHelp":false,"multiple":false,"type":"option"},"phone-number":{"description":"Телефон","name":"phone-number","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Имя пользователя","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"department":{"description":"Департамент","name":"department","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Должность","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"role":{"description":"Уровень доступа","name":"role","hasDynamicHelp":false,"multiple":false,"type":"option"},"suspended":{"description":"Деактивация пользователя","name":"suspended","allowNo":true,"type":"boolean"},"list-tags":{"description":"Массив тегов, привязываемых к сотруднику","name":"list-tags","hasDynamicHelp":false,"multiple":false,"type":"option"},"chat-ids":{"description":"Идентификаторы чатов, в которые сотрудник будет добавлен сразу при создании. Для роли `guest` параметр обязателен и должен содержать ровно один активный чат.","name":"chat-ids","hasDynamicHelp":false,"multiple":false,"type":"option"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"},"skip-email-notify":{"description":"Пропуск этапа отправки приглашения сотруднику. Сотруднику не будет отправлено письмо на электронную почту с приглашением создать аккаунт. Полезно при предварительном создании аккаунтов перед входом через SSO.","name":"skip-email-notify","allowNo":true,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:create","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:create","apiMethod":"POST","apiPath":"/users","defaultColumns":["id","title","first_name","last_name","email"],"requiredFlags":["email"],"isESM":true,"relativePath":["dist","commands","users","create.js"]},"users:delete":{"aliases":[],"args":{"id":{"description":"Идентификатор пользователя (pachca users list)","name":"id","required":true}},"description":"Удаление сотрудника","examples":["Получить сотрудника по ID:\n $ pachca users get","Массовое создание сотрудников с тегами:\n $ pachca users update","Offboarding сотрудника:\n $ pachca users update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:delete","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:delete","apiMethod":"DELETE","apiPath":"/users/{id}","isESM":true,"relativePath":["dist","commands","users","delete.js"]},"users:get":{"aliases":[],"args":{"id":{"description":"Идентификатор пользователя (pachca users list)","name":"id","required":true}},"description":"Информация о сотруднике","examples":["Получить сотрудника по ID:\n $ pachca users get","Массовое создание сотрудников с тегами:\n $ pachca users update","Offboarding сотрудника:\n $ pachca users update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:get","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:read","apiMethod":"GET","apiPath":"/users/{id}","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","users","get.js"]},"users:get-status":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Статус сотрудника","examples":["Управление статусом сотрудника:\n $ pachca users get-status","Управление статусом сотрудника:\n $ pachca users update-status","Управление статусом сотрудника:\n $ pachca users remove-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:get-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_status:read","apiMethod":"GET","apiPath":"/users/{user_id}/status","defaultColumns":["title","emoji","expires_at","is_away"],"isESM":true,"relativePath":["dist","commands","users","get-status.js"]},"users:list":{"aliases":[],"args":{},"description":"Список сотрудников","examples":["Проверить, кто прочитал сообщение:\n $ pachca users list","Разослать уведомление нескольким пользователям:\n $ pachca users list","Массовое создание сотрудников с тегами:\n $ pachca users create"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"query":{"description":"Поисковая фраза для фильтрации результатов. Поиск работает по полям: `first_name` (имя), `last_name` (фамилия), `email` (электронная почта), `phone_number` (телефон) и `nickname` (никнейм).","name":"query","hasDynamicHelp":false,"multiple":false,"type":"option"},"limit":{"description":"Количество результатов на страницу","name":"limit","hasDynamicHelp":false,"multiple":false,"type":"option"},"cursor":{"description":"Курсор для следующей страницы","name":"cursor","hasDynamicHelp":false,"multiple":false,"type":"option"},"all":{"description":"Загрузить все страницы автоматически","name":"all","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:list","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:read","apiMethod":"GET","apiPath":"/users","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","users","list.js"]},"users:remove-avatar":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Удаление аватара сотрудника","examples":["Загрузить аватар сотрудника:\n $ pachca users update-avatar","Удалить аватар сотрудника:\n $ pachca users remove-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:remove-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_avatar:write","apiMethod":"DELETE","apiPath":"/users/{user_id}/avatar","isESM":true,"relativePath":["dist","commands","users","remove-avatar.js"]},"users:remove-status":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Удаление статуса сотрудника","examples":["Управление статусом сотрудника:\n $ pachca users get-status","Управление статусом сотрудника:\n $ pachca users update-status","Управление статусом сотрудника:\n $ pachca users remove-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"force":{"description":"Пропустить подтверждение","name":"force","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:remove-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_status:write","apiMethod":"DELETE","apiPath":"/users/{user_id}/status","isESM":true,"relativePath":["dist","commands","users","remove-status.js"]},"users:update":{"aliases":[],"args":{"id":{"description":"Идентификатор пользователя (pachca users list)","name":"id","required":true}},"description":"Редактирование сотрудника","examples":["Получить сотрудника по ID:\n $ pachca users get","Массовое создание сотрудников с тегами:\n $ pachca users update","Offboarding сотрудника:\n $ pachca users update"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"first-name":{"description":"Имя","name":"first-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"last-name":{"description":"Фамилия","name":"last-name","hasDynamicHelp":false,"multiple":false,"type":"option"},"email":{"description":"Электронная почта","name":"email","hasDynamicHelp":false,"multiple":false,"type":"option"},"phone-number":{"description":"Телефон","name":"phone-number","hasDynamicHelp":false,"multiple":false,"type":"option"},"nickname":{"description":"Имя пользователя","name":"nickname","hasDynamicHelp":false,"multiple":false,"type":"option"},"department":{"description":"Департамент","name":"department","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Должность","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"role":{"description":"Уровень доступа","name":"role","hasDynamicHelp":false,"multiple":false,"type":"option"},"suspended":{"description":"Деактивация пользователя","name":"suspended","allowNo":true,"type":"boolean"},"list-tags":{"description":"Массив тегов, привязываемых к сотруднику","name":"list-tags","hasDynamicHelp":false,"multiple":false,"type":"option"},"custom-properties":{"description":"Задаваемые дополнительные поля","name":"custom-properties","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:update","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"users:update","apiMethod":"PUT","apiPath":"/users/{id}","defaultColumns":["id","title","first_name","last_name","email"],"isESM":true,"relativePath":["dist","commands","users","update.js"]},"users:update-avatar":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Загрузка аватара сотрудника","examples":["Загрузить аватар сотрудника:\n $ pachca users update-avatar","Удалить аватар сотрудника:\n $ pachca users remove-avatar"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"file":{"description":"Файл изображения для аватара","name":"file","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:update-avatar","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_avatar:write","apiMethod":"PUT","apiPath":"/users/{user_id}/avatar","defaultColumns":["image_url"],"isESM":true,"relativePath":["dist","commands","users","update-avatar.js"]},"users:update-status":{"aliases":[],"args":{"user_id":{"description":"Идентификатор пользователя (pachca users list)","name":"user_id","required":true}},"description":"Новый статус сотрудника","examples":["Управление статусом сотрудника:\n $ pachca users get-status","Управление статусом сотрудника:\n $ pachca users update-status","Управление статусом сотрудника:\n $ pachca users remove-status"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"emoji":{"description":"Emoji символ статуса","name":"emoji","hasDynamicHelp":false,"multiple":false,"type":"option"},"title":{"description":"Текст статуса","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"expires-at":{"description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","name":"expires-at","hasDynamicHelp":false,"multiple":false,"type":"option"},"is-away":{"description":"Режим «Нет на месте»","name":"is-away","allowNo":true,"type":"boolean"},"away-message":{"description":"Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях. (макс. 1024 символов)","name":"away-message","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"users:update-status","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"user_status:write","apiMethod":"PUT","apiPath":"/users/{user_id}/status","defaultColumns":["title","emoji","expires_at","is_away"],"requiredFlags":["emoji","title"],"isESM":true,"relativePath":["dist","commands","users","update-status.js"]},"version":{"aliases":[],"args":{},"description":"Версия CLI","examples":["<%= config.bin %> version"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"version","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"isESM":true,"relativePath":["dist","commands","version.js"]},"views:open":{"aliases":[],"args":{},"description":"Открытие представления","examples":["Показать интерактивную форму пользователю:\n $ pachca views open","Опрос сотрудников через форму:\n $ pachca views open","Форма заявки/запроса:\n $ pachca views open"],"flags":{"output":{"char":"o","description":"Output format: table, json, yaml, csv","name":"output","hasDynamicHelp":false,"multiple":false,"options":["table","json","yaml","csv"],"type":"option"},"columns":{"char":"c","description":"Columns to display (comma-separated)","name":"columns","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-header":{"description":"Hide table header","name":"no-header","allowNo":false,"type":"boolean"},"no-truncate":{"description":"Do not truncate values in table","name":"no-truncate","allowNo":false,"type":"boolean"},"profile":{"char":"p","description":"Profile to use for this command","name":"profile","hasDynamicHelp":false,"multiple":false,"type":"option"},"token":{"description":"Bearer token for this call (not saved)","name":"token","hasDynamicHelp":false,"multiple":false,"type":"option"},"quiet":{"char":"q","description":"Suppress output except errors","name":"quiet","allowNo":false,"type":"boolean"},"no-color":{"description":"Disable color output","name":"no-color","allowNo":false,"type":"boolean"},"verbose":{"char":"v","description":"Show HTTP request/response details","name":"verbose","allowNo":false,"type":"boolean"},"no-input":{"description":"Disable interactive prompts","name":"no-input","allowNo":false,"type":"boolean"},"dry-run":{"description":"Show HTTP request without sending","name":"dry-run","allowNo":false,"type":"boolean"},"timeout":{"description":"Request timeout in seconds","name":"timeout","hasDynamicHelp":false,"multiple":false,"type":"option"},"no-retry":{"description":"Disable auto-retry on 429/503","name":"no-retry","allowNo":false,"type":"boolean"},"json":{"description":"Output as JSON (alias for --output json)","hidden":true,"name":"json","allowNo":false,"type":"boolean"},"plain":{"description":"Plain output: TSV, no header, ID column first, no color (for scripts)","name":"plain","allowNo":false,"type":"boolean"},"title":{"description":"Заголовок представления (макс. 24 символов)","name":"title","hasDynamicHelp":false,"multiple":false,"type":"option"},"close-text":{"description":"Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается. (макс. 24 символов)","name":"close-text","hasDynamicHelp":false,"multiple":false,"type":"option"},"submit-text":{"description":"Текст кнопки отправки формы (макс. 24 символов)","name":"submit-text","hasDynamicHelp":false,"multiple":false,"type":"option"},"blocks":{"description":"Массив блоков представления","name":"blocks","hasDynamicHelp":false,"multiple":false,"type":"option"},"type":{"description":"Способ открытия представления","name":"type","hasDynamicHelp":false,"multiple":false,"options":["modal"],"type":"option"},"trigger-id":{"description":"Уникальный идентификатор события (полученный, например, в исходящем вебхуке о нажатии кнопки)","name":"trigger-id","hasDynamicHelp":false,"multiple":false,"type":"option"},"private-metadata":{"description":"Необязательная строка, которая будет отправлена в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для передачи в формате `JSON` какой то дополнительной информации вместе с заполненной пользователем формой. (макс. 3000 символов)","name":"private-metadata","hasDynamicHelp":false,"multiple":false,"type":"option"},"callback-id":{"description":"Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь. (макс. 255 символов)","name":"callback-id","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"views:open","pluginAlias":"@pachca/cli","pluginName":"@pachca/cli","pluginType":"core","strict":true,"enableJsonFlag":false,"scope":"views:write","apiMethod":"POST","apiPath":"/views/open","requiredFlags":["title","blocks","type","trigger-id"],"isESM":true,"relativePath":["dist","commands","views","open.js"]}},"version":"0.0.0"}
\ No newline at end of file
diff --git a/packages/cli/src/commands/bots/create.ts b/packages/cli/src/commands/bots/create.ts
index 7a5724a7..9eece53e 100644
--- a/packages/cli/src/commands/bots/create.ts
+++ b/packages/cli/src/commands/bots/create.ts
@@ -8,7 +8,8 @@ export default class BotsCreate extends BaseCommand {
static override examples = [
"Создать бота через API и получить токен:\n $ pachca bots create",
- "Настроить бота с исходящим вебхуком:\n $ pachca bots create"
+ "Настроить бота с исходящим вебхуком:\n $ pachca bots create",
+ "Найти и удалить бота:\n $ pachca bots list"
];
static scope = "bots:write";
@@ -65,6 +66,16 @@ export default class BotsCreate extends BaseCommand {
description: "Сохранять историю событий бота для последующего получения через метод истории событий",
allowNo: true,
}),
+ 'who-can-add': Flags.string({
+ description: "Кто может добавлять бота в чаты",
+ }),
+ 'can-edit': Flags.string({
+ description: "Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.",
+ }),
+ 'single-chat': Flags.boolean({
+ description: "Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется.",
+ allowNo: true,
+ }),
};
async run(): Promise {
@@ -106,6 +117,9 @@ export default class BotsCreate extends BaseCommand {
link_preview_enabled: flags['link-preview-enabled'],
ignore_self_messages: flags['ignore-self-messages'],
events_history_enabled: flags['events-history-enabled'],
+ who_can_add: flags['who-can-add'],
+ can_edit: flags['can-edit'] ? this.parseJSON(flags['can-edit'], 'can-edit') : undefined,
+ single_chat: flags['single-chat'],
} };
// Clean undefined fields
const inner = body['webhook'] as Record;
diff --git a/packages/cli/src/commands/bots/delete.ts b/packages/cli/src/commands/bots/delete.ts
new file mode 100644
index 00000000..3154b9d6
--- /dev/null
+++ b/packages/cli/src/commands/bots/delete.ts
@@ -0,0 +1,58 @@
+// Auto-generated from openapi.yaml — DO NOT EDIT
+import { Args, Flags } from '@oclif/core';
+import { BaseCommand } from '../../base-command.js';
+import * as clack from '@clack/prompts';
+
+export default class BotsDelete extends BaseCommand {
+ static override description = "Удаление бота";
+
+ static override examples = [
+ "Обновить Webhook URL бота:\n $ pachca bots update",
+ "Найти и удалить бота:\n $ pachca bots delete"
+ ];
+
+ static scope = "bots:write";
+ static apiMethod = "DELETE";
+ static apiPath = "/bots/{id}";
+
+ static override args = {
+ id: Args.integer({
+ description: "Идентификатор бота (pachca bots list)",
+ required: true,
+ }),
+ };
+
+ static override flags = {
+ ...BaseCommand.baseFlags,
+ force: Flags.boolean({
+ description: 'Пропустить подтверждение',
+ default: false,
+ }),
+ };
+
+ async run(): Promise {
+ const { args, flags } = await this.parse(BotsDelete);
+ this.parsedFlags = flags;
+
+ if (!flags.force) {
+ if (!this.isInteractive()) {
+ this.validationError(
+ [{ message: 'Деструктивная операция требует флага --force', flag: 'force' }],
+ { type: 'PACHCA_DESTRUCTIVE_OP_ERROR', hint: "pachca bots delete --force" },
+ );
+ }
+ const confirm = await clack.confirm({ message: 'Вы уверены?' });
+ if (clack.isCancel(confirm) || !confirm) {
+ process.stderr.write('Отменено.\n');
+ this.exit(0);
+ }
+ }
+
+ const { data } = await this.apiRequest({
+ method: 'DELETE',
+ path: `/bots/${args.id}`,
+ });
+
+ this.success('Удалено');
+ }
+}
diff --git a/packages/cli/src/commands/bots/get.ts b/packages/cli/src/commands/bots/get.ts
index c062d06e..ac6817c3 100644
--- a/packages/cli/src/commands/bots/get.ts
+++ b/packages/cli/src/commands/bots/get.ts
@@ -6,7 +6,8 @@ export default class BotsGet extends BaseCommand {
static override description = "Информация о боте";
static override examples = [
- "Обновить Webhook URL бота:\n $ pachca bots update"
+ "Обновить Webhook URL бота:\n $ pachca bots update",
+ "Найти и удалить бота:\n $ pachca bots delete"
];
static scope = "bots:read";
diff --git a/packages/cli/src/commands/bots/list.ts b/packages/cli/src/commands/bots/list.ts
new file mode 100644
index 00000000..e15db98d
--- /dev/null
+++ b/packages/cli/src/commands/bots/list.ts
@@ -0,0 +1,109 @@
+// Auto-generated from openapi.yaml — DO NOT EDIT
+import { Args, Flags } from '@oclif/core';
+import { BaseCommand } from '../../base-command.js';
+
+export default class BotsList extends BaseCommand {
+ static override description = "Список ботов";
+
+ static override examples = [
+ "Создать бота через API и получить токен:\n $ pachca bots create",
+ "Настроить бота с исходящим вебхуком:\n $ pachca bots create",
+ "Найти и удалить бота:\n $ pachca bots list"
+ ];
+
+ static scope = "bots:read";
+ static apiMethod = "GET";
+ static apiPath = "/bots";
+ static defaultColumns = ["id","webhook"];
+
+ static override args = {
+
+ };
+
+ static override flags = {
+ ...BaseCommand.baseFlags,
+ 'query': Flags.string({
+ description: "Поисковая фраза для фильтрации ботов по имени",
+ }),
+ limit: Flags.integer({
+ description: 'Количество результатов на страницу',
+ }),
+ cursor: Flags.string({
+ description: 'Курсор для следующей страницы',
+ }),
+ all: Flags.boolean({
+ description: 'Загрузить все страницы автоматически',
+ default: false,
+ }),
+ };
+
+ async run(): Promise {
+ const { args, flags } = await this.parse(BotsList);
+ this.parsedFlags = flags;
+
+ if (flags.all) {
+ // Auto-pagination
+ const allData: unknown[] = [];
+ let nextCursor: string | undefined = undefined;
+ let pages = 0;
+ const seenCursors = new Set();
+
+ while (pages < 500) {
+ const query: Record = {
+ query: flags['query'],
+ limit: flags.limit,
+ cursor: nextCursor,
+ };
+ const response = await this.apiRequest({ method: 'GET', path: '/bots', query });
+ const body = response.data as Record;
+ const items = body.data as unknown[];
+ if (items) allData.push(...items);
+ const meta = body.meta as Record | undefined;
+ const paginate = meta?.paginate as Record | undefined;
+ nextCursor = paginate?.next_page as string | undefined;
+ pages++;
+ // Условие конца: списочные методы — has_next === false; методы поиска и /users?query= (без has_next) — пустой data
+ const hasNext = paginate?.has_next;
+ if (typeof hasNext === 'boolean') {
+ if (!hasNext) break;
+ } else if (!items || items.length === 0) {
+ break;
+ }
+
+ if (process.stderr.isTTY) {
+ const total = (paginate as Record | undefined)?.total;
+ const progress = total ? `${allData.length} / ${total}` : String(allData.length);
+ process.stderr.write(`\r Загружено: ${progress}...`);
+ }
+
+ if (!nextCursor) break;
+ if (seenCursors.has(nextCursor)) {
+ process.stderr.write('\n⚠ Обнаружен цикл пагинации, остановка.\n');
+ break;
+ }
+ seenCursors.add(nextCursor);
+ }
+
+ if (pages >= 500) {
+ process.stderr.write('\n⚠ Достигнут лимит 500 страниц.\n');
+ }
+ if (process.stderr.isTTY) process.stderr.write('\n');
+ this.output(allData);
+ return;
+ }
+
+ const { data } = await this.apiRequest({
+ method: 'GET',
+ path: '/bots',
+ query: {
+ query: flags['query'],
+ limit: flags.limit,
+ cursor: flags.cursor,
+ },
+ });
+
+ const responseBody = data as Record;
+ const items = responseBody.data ?? responseBody;
+ this.output(items);
+ }
+}
diff --git a/packages/cli/src/commands/bots/update.ts b/packages/cli/src/commands/bots/update.ts
index d3d4a594..0e6e5a1a 100644
--- a/packages/cli/src/commands/bots/update.ts
+++ b/packages/cli/src/commands/bots/update.ts
@@ -6,7 +6,8 @@ export default class BotsUpdate extends BaseCommand {
static override description = "Редактирование бота";
static override examples = [
- "Обновить Webhook URL бота:\n $ pachca bots update"
+ "Обновить Webhook URL бота:\n $ pachca bots update",
+ "Найти и удалить бота:\n $ pachca bots delete"
];
static scope = "bots:write";
@@ -65,6 +66,12 @@ export default class BotsUpdate extends BaseCommand {
description: "Сохранять историю событий бота для последующего получения через метод истории событий",
allowNo: true,
}),
+ 'who-can-add': Flags.string({
+ description: "Кто может добавлять бота в чаты",
+ }),
+ 'can-edit': Flags.string({
+ description: "Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.",
+ }),
};
async run(): Promise {
@@ -85,6 +92,8 @@ export default class BotsUpdate extends BaseCommand {
link_preview_enabled: flags['link-preview-enabled'],
ignore_self_messages: flags['ignore-self-messages'],
events_history_enabled: flags['events-history-enabled'],
+ who_can_add: flags['who-can-add'],
+ can_edit: flags['can-edit'] ? this.parseJSON(flags['can-edit'], 'can-edit') : undefined,
} };
// Clean undefined fields
const inner = body['webhook'] as Record;
diff --git a/packages/cli/src/commands/search/list-users.ts b/packages/cli/src/commands/search/list-users.ts
index b1da222d..97b19d6b 100644
--- a/packages/cli/src/commands/search/list-users.ts
+++ b/packages/cli/src/commands/search/list-users.ts
@@ -27,7 +27,7 @@ export default class SearchListUsers extends BaseCommand {
}),
'sort': Flags.string({
description: "Сортировка результатов",
- options: ["by_score","alphabetical"],
+ options: ["by_score","alphabetical","creation"],
}),
'order': Flags.string({
description: "Направление сортировки",
diff --git a/packages/cli/src/commands/security/list.ts b/packages/cli/src/commands/security/list.ts
index 4833a2fe..1c131812 100644
--- a/packages/cli/src/commands/security/list.ts
+++ b/packages/cli/src/commands/security/list.ts
@@ -31,7 +31,7 @@ export default class SecurityList extends BaseCommand {
}),
'event-key': Flags.string({
description: "Фильтр по конкретному типу события",
- options: ["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated"],
+ options: ["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated","bot_deleted"],
}),
'actor-id': Flags.string({
description: "Идентификатор пользователя, выполнившего действие",
diff --git a/packages/cli/src/data/alternatives.json b/packages/cli/src/data/alternatives.json
index 1e2b8293..67e9d850 100644
--- a/packages/cli/src/data/alternatives.json
+++ b/packages/cli/src/data/alternatives.json
@@ -2,9 +2,11 @@
"security:list": "Журнал аудита событий",
"bots:recreate-token-self": "Ротация собственного токена бота",
"bots:update-webhook": "Саморегистрация вебхука бота",
+ "bots:list": "Список ботов",
"bots:create": "Новый бот",
"bots:get": "Информация о боте",
"bots:update": "Редактирование бота",
+ "bots:delete": "Удаление бота",
"bots:recreate-token": "Ротация токена бота",
"chats:create": "Новый чат",
"chats:list": "Список чатов",
diff --git a/packages/cli/src/data/changelog.json b/packages/cli/src/data/changelog.json
index 59e4bb51..2f76a1ca 100644
--- a/packages/cli/src/data/changelog.json
+++ b/packages/cli/src/data/changelog.json
@@ -1,4 +1,35 @@
[
+ {
+ "version": "2026.7.0",
+ "date": "7 июля 2026",
+ "changes": [
+ {
+ "type": "+",
+ "command": "bots list",
+ "description": "Новая команда — список ботов с поиском по имени (`--query`)"
+ },
+ {
+ "type": "+",
+ "command": "bots delete",
+ "description": "Новая команда — удаление бота по его `id`"
+ },
+ {
+ "type": "+",
+ "command": "bots create",
+ "description": "Права доступа бота — параметры `who-can-add` (кто может добавлять бота в чаты), `can-edit` (роли, редактирующие настройки) и `single-chat` (только один чат)"
+ },
+ {
+ "type": "+",
+ "command": "bots update",
+ "description": "Права доступа бота — параметры `who-can-add` (кто может добавлять бота в чаты) и `can-edit` (роли, редактирующие настройки)"
+ },
+ {
+ "type": "+",
+ "command": "search users",
+ "description": "Значение сортировки `--sort creation` — по дате создания"
+ }
+ ]
+ },
{
"version": "2026.6.3",
"date": "24 июня 2026",
diff --git a/packages/cli/src/data/commands.json b/packages/cli/src/data/commands.json
index caa52b9f..444be6e3 100644
--- a/packages/cli/src/data/commands.json
+++ b/packages/cli/src/data/commands.json
@@ -208,6 +208,47 @@
"type": "boolean",
"required": false,
"description": "Сохранять историю событий бота для последующего получения через метод истории событий"
+ },
+ {
+ "name": "who-can-add",
+ "type": "option",
+ "required": false,
+ "description": "Кто может добавлять бота в чаты"
+ },
+ {
+ "name": "can-edit",
+ "type": "option",
+ "required": false,
+ "description": "Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель."
+ },
+ {
+ "name": "single-chat",
+ "type": "boolean",
+ "required": false,
+ "description": "Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется."
+ }
+ ]
+ },
+ {
+ "command": "pachca bots delete",
+ "summary": "Удаление бота",
+ "method": "DELETE",
+ "path": "/bots/{id}",
+ "scope": "bots:write",
+ "plan": null,
+ "args": [
+ {
+ "name": "id",
+ "required": true,
+ "description": "Идентификатор бота (pachca bots list)"
+ }
+ ],
+ "flags": [
+ {
+ "name": "force",
+ "type": "boolean",
+ "required": false,
+ "description": "Пропустить подтверждение"
}
]
},
@@ -227,6 +268,40 @@
],
"flags": []
},
+ {
+ "command": "pachca bots list",
+ "summary": "Список ботов",
+ "method": "GET",
+ "path": "/bots",
+ "scope": "bots:read",
+ "plan": null,
+ "flags": [
+ {
+ "name": "query",
+ "type": "option",
+ "required": false,
+ "description": "Поисковая фраза для фильтрации ботов по имени"
+ },
+ {
+ "name": "limit",
+ "type": "option",
+ "required": false,
+ "description": "Количество результатов на страницу"
+ },
+ {
+ "name": "cursor",
+ "type": "option",
+ "required": false,
+ "description": "Курсор для следующей страницы"
+ },
+ {
+ "name": "all",
+ "type": "boolean",
+ "required": false,
+ "description": "Загрузить все страницы автоматически"
+ }
+ ]
+ },
{
"command": "pachca bots list-events",
"summary": "История событий",
@@ -395,6 +470,18 @@
"type": "boolean",
"required": false,
"description": "Сохранять историю событий бота для последующего получения через метод истории событий"
+ },
+ {
+ "name": "who-can-add",
+ "type": "option",
+ "required": false,
+ "description": "Кто может добавлять бота в чаты"
+ },
+ {
+ "name": "can-edit",
+ "type": "option",
+ "required": false,
+ "description": "Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель."
}
]
},
@@ -2030,7 +2117,8 @@
"description": "Сортировка результатов",
"options": [
"by_score",
- "alphabetical"
+ "alphabetical",
+ "creation"
]
},
{
@@ -2149,7 +2237,8 @@
"search_messages_api",
"bot_scopes_updated",
"bot_webhook_settings_updated",
- "bot_token_recreated"
+ "bot_token_recreated",
+ "bot_deleted"
]
},
{
diff --git a/packages/cli/src/data/endpoints.json b/packages/cli/src/data/endpoints.json
index e137b098..5b07a1a5 100644
--- a/packages/cli/src/data/endpoints.json
+++ b/packages/cli/src/data/endpoints.json
@@ -1 +1 @@
-[{"method":"GET","path":"/audit_events","summary":"Журнал аудита событий","scope":"audit_events:read","plan":"corporation","auth":true,"paginated":true,"command":"pachca security list","docLink":"https://dev.pachca.com/api/security/list","describe":"# GET /audit_events — Журнал аудита событий\n\n> **Скоуп:** `audit_events:read`\n\n> **Тариф:** Корпорация\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `start_time` — query: Начальная метка времени (включительно)\n- `end_time` — query: Конечная метка времени (исключительно)\n- `event_key` — query: Фильтр по конкретному типу события\n- `actor_id` — query: Идентификатор пользователя, выполнившего действие\n- `actor_type` — query: Тип актора\n- `entity_id` — query: Идентификатор затронутой сущности\n- `entity_type` — query: Тип сущности\n- `limit` — query: Количество записей для возврата\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca security list \\\n --start-time=2025-05-01T09:11:00Z \\\n --end-time=2025-05-02T09:11:00Z \\\n --event-key=user_login \\\n --actor-id=98765 \\\n --actor-type=User \\\n --entity-id=98765 \\\n --entity-type=User \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/security/list\nПолная справка: `pachca api GET /audit_events --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/audit_events","description":"Журнал аудита событий\n\nМетод для получения логов событий на основе указанных фильтров.","parameters":[{"name":"start_time","in":"query","description":"Начальная метка времени (включительно)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-05-01T09:11:00Z"},"example":"2025-05-01T09:11:00Z","explode":false},{"name":"end_time","in":"query","description":"Конечная метка времени (исключительно)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-05-02T09:11:00Z"},"example":"2025-05-02T09:11:00Z","explode":false},{"name":"event_key","in":"query","description":"Фильтр по конкретному типу события","required":false,"schema":{"type":"string","description":"Тип аудит-события","enum":["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated"],"x-enum-descriptions":{"user_login":"Пользователь успешно вошел в систему","user_logout":"Пользователь вышел из системы","user_2fa_fail":"Неудачная попытка двухфакторной аутентификации","user_2fa_success":"Успешная двухфакторная аутентификация","user_created":"Создана новая учетная запись пользователя","user_deleted":"Учетная запись пользователя удалена","user_role_changed":"Роль пользователя была изменена","user_updated":"Данные пользователя обновлены","tag_created":"Создан новый тег","tag_deleted":"Тег удален","user_added_to_tag":"Пользователь добавлен в тег","user_removed_from_tag":"Пользователь удален из тега","chat_created":"Создан новый чат","chat_renamed":"Чат переименован","chat_permission_changed":"Изменены права доступа к чату","user_chat_join":"Пользователь присоединился к чату","user_chat_leave":"Пользователь покинул чат","tag_added_to_chat":"Тег добавлен в чат","tag_removed_from_chat":"Тег удален из чата","message_updated":"Сообщение отредактировано","message_deleted":"Сообщение удалено","message_created":"Сообщение создано","reaction_created":"Реакция добавлена","reaction_deleted":"Реакция удалена","thread_created":"Тред создан","access_token_created":"Создан новый токен доступа","access_token_updated":"Токен доступа обновлен","access_token_destroy":"Токен доступа удален","kms_encrypt":"Данные зашифрованы","kms_decrypt":"Данные расшифрованы","audit_events_accessed":"Доступ к журналам аудита получен","dlp_violation_detected":"Срабатывание правила DLP-системы","search_users_api":"Поиск сотрудников через API","search_chats_api":"Поиск чатов через API","search_messages_api":"Поиск сообщений через API","bot_scopes_updated":"Изменены скоупы токена бота","bot_webhook_settings_updated":"Изменены настройки исходящего вебхука бота","bot_token_recreated":"Токен бота перевыпущен (ротация)"},"example":"user_login","$ref":"#/components/schemas/AuditEventKey"},"example":"user_login","explode":false},{"name":"actor_id","in":"query","description":"Идентификатор пользователя, выполнившего действие","required":false,"schema":{"type":"string","example":"98765"},"example":"98765","explode":false},{"name":"actor_type","in":"query","description":"Тип актора","required":false,"schema":{"type":"string","example":"User"},"example":"User","explode":false},{"name":"entity_id","in":"query","description":"Идентификатор затронутой сущности","required":false,"schema":{"type":"string","example":"98765"},"example":"98765","explode":false},{"name":"entity_type","in":"query","description":"Тип сущности","required":false,"schema":{"type":"string","example":"User"},"example":"User","explode":false},{"name":"limit","in":"query","description":"Количество записей для возврата","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Событие аудита","required":["id","created_at","event_key","entity_id","entity_type","actor_id","actor_type","details","ip_address","user_agent"],"properties":{"id":{"type":"string","description":"Уникальный идентификатор события","example":"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-05-15T14:30:00.000Z"},"event_key":{"description":"Ключ типа события","example":"user_login","allOf":[{"type":"string","description":"Тип аудит-события","enum":["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated"],"x-enum-descriptions":{"user_login":"Пользователь успешно вошел в систему","user_logout":"Пользователь вышел из системы","user_2fa_fail":"Неудачная попытка двухфакторной аутентификации","user_2fa_success":"Успешная двухфакторная аутентификация","user_created":"Создана новая учетная запись пользователя","user_deleted":"Учетная запись пользователя удалена","user_role_changed":"Роль пользователя была изменена","user_updated":"Данные пользователя обновлены","tag_created":"Создан новый тег","tag_deleted":"Тег удален","user_added_to_tag":"Пользователь добавлен в тег","user_removed_from_tag":"Пользователь удален из тега","chat_created":"Создан новый чат","chat_renamed":"Чат переименован","chat_permission_changed":"Изменены права доступа к чату","user_chat_join":"Пользователь присоединился к чату","user_chat_leave":"Пользователь покинул чат","tag_added_to_chat":"Тег добавлен в чат","tag_removed_from_chat":"Тег удален из чата","message_updated":"Сообщение отредактировано","message_deleted":"Сообщение удалено","message_created":"Сообщение создано","reaction_created":"Реакция добавлена","reaction_deleted":"Реакция удалена","thread_created":"Тред создан","access_token_created":"Создан новый токен доступа","access_token_updated":"Токен доступа обновлен","access_token_destroy":"Токен доступа удален","kms_encrypt":"Данные зашифрованы","kms_decrypt":"Данные расшифрованы","audit_events_accessed":"Доступ к журналам аудита получен","dlp_violation_detected":"Срабатывание правила DLP-системы","search_users_api":"Поиск сотрудников через API","search_chats_api":"Поиск чатов через API","search_messages_api":"Поиск сообщений через API","bot_scopes_updated":"Изменены скоупы токена бота","bot_webhook_settings_updated":"Изменены настройки исходящего вебхука бота","bot_token_recreated":"Токен бота перевыпущен (ротация)"},"$ref":"#/components/schemas/AuditEventKey"}]},"entity_id":{"type":"string","description":"Идентификатор затронутой сущности","example":"98765"},"entity_type":{"type":"string","description":"Тип затронутой сущности","example":"User"},"actor_id":{"type":"string","description":"Идентификатор пользователя, выполнившего действие","example":"98765"},"actor_type":{"type":"string","description":"Тип актора","example":"User"},"details":{"description":"Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект","allOf":[{"description":"Дополнительные детали события аудита. Структура зависит от значения event_key","anyOf":[{"type":"object","description":"Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated","$ref":"#/components/schemas/AuditDetailsEmpty"},{"type":"object","description":"При: user_updated","required":["changed_attrs"],"properties":{"changed_attrs":{"type":"array","description":"Список изменённых полей","items":{"type":"string"}}},"$ref":"#/components/schemas/AuditDetailsUserUpdated"},{"type":"object","description":"При: user_role_changed","required":["new_company_role","previous_company_role","initiator_id"],"properties":{"new_company_role":{"type":"string","description":"Новая роль"},"previous_company_role":{"type":"string","description":"Предыдущая роль"},"initiator_id":{"type":"integer","format":"int32","description":"Идентификатор инициатора"}},"$ref":"#/components/schemas/AuditDetailsRoleChanged"},{"type":"object","description":"При: tag_created, tag_deleted","required":["name"],"properties":{"name":{"type":"string","description":"Название тега"}},"$ref":"#/components/schemas/AuditDetailsTagName"},{"type":"object","description":"При: user_added_to_tag, user_removed_from_tag, user_chat_leave","required":["initiator_id"],"properties":{"initiator_id":{"type":"integer","format":"int32","description":"Идентификатор инициатора действия"}},"$ref":"#/components/schemas/AuditDetailsInitiator"},{"type":"object","description":"При: user_chat_join","required":["inviter_id"],"properties":{"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор пригласившего"}},"$ref":"#/components/schemas/AuditDetailsInviter"},{"type":"object","description":"При: chat_renamed","required":["old_name","new_name"],"properties":{"old_name":{"type":"string","description":"Прежнее название чата"},"new_name":{"type":"string","description":"Новое название чата"}},"$ref":"#/components/schemas/AuditDetailsChatRenamed"},{"type":"object","description":"При: chat_permission_changed","required":["public_access"],"properties":{"public_access":{"type":"boolean","description":"Публичный доступ"}},"$ref":"#/components/schemas/AuditDetailsChatPermission"},{"type":"object","description":"При: tag_added_to_chat","required":["chat_id","tag_name"],"properties":{"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"},"tag_name":{"type":"string","description":"Название тега"}},"$ref":"#/components/schemas/AuditDetailsTagChat"},{"type":"object","description":"При: tag_removed_from_chat","required":["chat_id"],"properties":{"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"}},"$ref":"#/components/schemas/AuditDetailsChatId"},{"type":"object","description":"При: access_token_created, access_token_updated, access_token_destroy","required":["scopes"],"properties":{"scopes":{"type":"array","description":"Скоупы токена","items":{"type":"string"}}},"$ref":"#/components/schemas/AuditDetailsTokenScopes"},{"type":"object","description":"При: kms_encrypt, kms_decrypt","required":["chat_id","message_id","reason"],"properties":{"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"},"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения"},"reason":{"type":"string","description":"Причина операции"}},"$ref":"#/components/schemas/AuditDetailsKms"},{"type":"object","description":"При: dlp_violation_detected","required":["dlp_rule_id","dlp_rule_name","message_id","chat_id","user_id","action_message","conditions_matched"],"properties":{"dlp_rule_id":{"type":"integer","format":"int32","description":"Идентификатор правила DLP"},"dlp_rule_name":{"type":"string","description":"Название правила DLP"},"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения"},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя"},"action_message":{"type":"string","description":"Описание действия. `null`, если у действия правила текст не задан.","nullable":true},"conditions_matched":{"type":"boolean","description":"Результат проверки условий правила (true — условия сработали)"}},"$ref":"#/components/schemas/AuditDetailsDlp"},{"type":"object","description":"При: search_users_api, search_chats_api, search_messages_api","required":["search_type","query_present","cursor_present","limit","filters"],"properties":{"search_type":{"type":"string","description":"Тип поиска"},"query_present":{"type":"boolean","description":"Указан ли поисковый запрос"},"cursor_present":{"type":"boolean","description":"Использован ли курсор"},"limit":{"type":"integer","format":"int32","description":"Количество возвращённых результатов"},"filters":{"type":"object","description":"Применённые фильтры. Возможные ключи зависят от типа поиска: order, sort, created_from, created_to, company_roles (users), active, chat_subtype, personal (chats), chat_ids, user_ids (messages)","additionalProperties":{}}},"$ref":"#/components/schemas/AuditDetailsSearch"},{"type":"object","description":"При: bot_scopes_updated","required":["added_scopes","removed_scopes"],"properties":{"added_scopes":{"type":"array","description":"Скоупы, добавленные токену бота","items":{"type":"string"}},"removed_scopes":{"type":"array","description":"Скоупы, отозванные у токена бота","items":{"type":"string"}}},"$ref":"#/components/schemas/AuditDetailsBotScopes"},{"type":"object","description":"При: bot_webhook_settings_updated","required":["changes"],"properties":{"changes":{"type":"object","description":"Изменённые настройки вебхука. Ключ — имя настройки (outgoing_url, ignore_self_messages, events_history_enabled), значение — объект с полями previous (прежнее значение) и new (новое значение)","additionalProperties":{}}},"$ref":"#/components/schemas/AuditDetailsBotWebhookSettings"}],"$ref":"#/components/schemas/AuditEventDetailsUnion"}]},"ip_address":{"type":"string","description":"IP-адрес, с которого было выполнено действие","example":"192.168.1.100"},"user_agent":{"type":"string","description":"User agent клиента","example":"Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0"}},"$ref":"#/components/schemas/AuditEvent"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"audit_events:read","plan":"corporation","scopeRoles":["owner"]},"paginated":true},"docs":"# Журнал аудита событий\n\n**Метод**: `GET`\n\n**Путь**: `/audit_events`\n\n> **Скоуп:** `audit_events:read`\n\n> **Внимание:** Доступно только на тарифе **Корпорация**\n\nМетод для получения логов событий на основе указанных фильтров.\n\n## Параметры\n\n### Query параметры\n\n- `start_time: date-time` — Начальная метка времени (включительно)\n- `end_time: date-time` — Конечная метка времени (исключительно)\n- `event_key: string` — Фильтр по конкретному типу события\n Значения: `user_login`, `user_logout`, `user_2fa_fail`, `user_2fa_success`, `user_created`, `user_deleted`, `user_role_changed`, `user_updated`, `tag_created`, `tag_deleted`, `user_added_to_tag`, `user_removed_from_tag`, `chat_created`, `chat_renamed`, `chat_permission_changed`, `user_chat_join`, `user_chat_leave`, `tag_added_to_chat`, `tag_removed_from_chat`, `message_updated`, `message_deleted`, `message_created`, `reaction_created`, `reaction_deleted`, `thread_created`, `access_token_created`, `access_token_updated`, `access_token_destroy`, `kms_encrypt`, `kms_decrypt`, `audit_events_accessed`, `dlp_violation_detected`, `search_users_api`, `search_chats_api`, `search_messages_api`, `bot_scopes_updated`, `bot_webhook_settings_updated`, `bot_token_recreated`\n- `actor_id: string` — Идентификатор пользователя, выполнившего действие\n- `actor_type: string` — Тип актора\n- `entity_id: string` — Идентификатор затронутой сущности\n- `entity_type: string` — Тип сущности\n- `limit: integer, int32` (default: 50) — Количество записей для возврата\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09:11:00Z&end_time=2025-05-02T09:11:00Z&event_key=user_login&actor_id=98765&actor_type=User&entity_id=98765&entity_type=User&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: string` (required) — Уникальный идентификатор события. Пример: `\"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14\"`\n - `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-05-15T14:30:00.000Z\"`\n - `event_key: string` (required) — Ключ типа события\n Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация)\n - `entity_id: string` (required) — Идентификатор затронутой сущности. Пример: `\"98765\"`\n - `entity_type: string` (required) — Тип затронутой сущности. Пример: `\"User\"`\n - `actor_id: string` (required) — Идентификатор пользователя, выполнившего действие. Пример: `\"98765\"`\n - `actor_type: string` (required) — Тип актора. Пример: `\"User\"`\n - `details: anyOf` (required) — Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект\n **Возможные варианты:**\n\n - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated\n - **AuditDetailsUserUpdated**: При: user_updated\n - `changed_attrs: array of string` (required) — Список изменённых полей\n - **AuditDetailsRoleChanged**: При: user_role_changed\n - `new_company_role: string` (required) — Новая роль\n - `previous_company_role: string` (required) — Предыдущая роль\n - `initiator_id: integer, int32` (required) — Идентификатор инициатора\n - **AuditDetailsTagName**: При: tag_created, tag_deleted\n - `name: string` (required) — Название тега\n - **AuditDetailsInitiator**: При: user_added_to_tag, user_removed_from_tag, user_chat_leave\n - `initiator_id: integer, int32` (required) — Идентификатор инициатора действия\n - **AuditDetailsInviter**: При: user_chat_join\n - `inviter_id: integer, int32` (required) — Идентификатор пригласившего\n - **AuditDetailsChatRenamed**: При: chat_renamed\n - `old_name: string` (required) — Прежнее название чата\n - `new_name: string` (required) — Новое название чата\n - **AuditDetailsChatPermission**: При: chat_permission_changed\n - `public_access: boolean` (required) — Публичный доступ\n - **AuditDetailsTagChat**: При: tag_added_to_chat\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - `tag_name: string` (required) — Название тега\n - **AuditDetailsChatId**: При: tag_removed_from_chat\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - **AuditDetailsTokenScopes**: При: access_token_created, access_token_updated, access_token_destroy\n - `scopes: array of string` (required) — Скоупы токена\n - **AuditDetailsKms**: При: kms_encrypt, kms_decrypt\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - `message_id: integer, int32` (required) — Идентификатор сообщения\n - `reason: string` (required) — Причина операции\n - **AuditDetailsDlp**: При: dlp_violation_detected\n - `dlp_rule_id: integer, int32` (required) — Идентификатор правила DLP\n - `dlp_rule_name: string` (required) — Название правила DLP\n - `message_id: integer, int32` (required) — Идентификатор сообщения\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - `user_id: integer, int32` (required) — Идентификатор пользователя\n - `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.\n - `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)\n - **AuditDetailsSearch**: При: search_users_api, search_chats_api, search_messages_api\n - `search_type: string` (required) — Тип поиска\n - `query_present: boolean` (required) — Указан ли поисковый запрос\n - `cursor_present: boolean` (required) — Использован ли курсор\n - `limit: integer, int32` (required) — Количество возвращённых результатов\n - `filters: Record` (required) — Применённые фильтры. Возможные ключи зависят от типа поиска: order, sort, created_from, created_to, company_roles (users), active, chat_subtype, personal (chats), chat_ids, user_ids (messages)\n **Структура значений Record:**\n - Тип значения: `any`\n - **AuditDetailsBotScopes**: При: bot_scopes_updated\n - `added_scopes: array of string` (required) — Скоупы, добавленные токену бота\n - `removed_scopes: array of string` (required) — Скоупы, отозванные у токена бота\n - **AuditDetailsBotWebhookSettings**: При: bot_webhook_settings_updated\n - `changes: Record` (required) — Изменённые настройки вебхука. Ключ — имя настройки (outgoing_url, ignore_self_messages, events_history_enabled), значение — объект с полями previous (прежнее значение) и new (новое значение)\n **Структура значений Record:**\n - Тип значения: `any`\n - `ip_address: string` (required) — IP-адрес, с которого было выполнено действие. Пример: `\"192.168.1.100\"`\n - `user_agent: string` (required) — User agent клиента. Пример: `\"Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": \"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14\",\n \"created_at\": \"2025-05-15T14:30:00.000Z\",\n \"event_key\": \"user_login\",\n \"entity_id\": \"98765\",\n \"entity_type\": \"User\",\n \"actor_id\": \"98765\",\n \"actor_type\": \"User\",\n \"details\": null,\n \"ip_address\": \"192.168.1.100\",\n \"user_agent\": \"Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/bot/recreate_token","summary":"Ротация собственного токена бота","scope":"bot_self:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots recreate-token-self","docLink":"https://dev.pachca.com/api/bots/recreate-token-self","describe":"# POST /bot/recreate_token — Ротация собственного токена бота\n\n> **Скоуп:** `bot_self:write`\n\n## Эквивалентная команда\n\n```bash\npachca bots recreate-token-self \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/recreate-token-self\nПолная справка: `pachca api POST /bot/recreate_token --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/bot/recreate_token","description":"Ротация собственного токена бота\n\nМетод позволяет боту сгенерировать себе новый `access_token` своим же токеном — без участия администратора и без знания собственного `id`. Ротируется токен того бота, которому принадлежит токен запроса.\n\nТокен, которым выполнен запрос, инвалидируется сразу. Новый токен возвращается в ответе один раз — обязательно сохраните его, иначе бот потеряет доступ к API.","parameters":[],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры созданного бота","required":["id","webhook","access_token"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false}},"$ref":"#/components/schemas/BotWebhook"}]},"access_token":{"type":"string","description":"Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.","example":"bm90X2FfcmVhbF90b2tlbg"}},"$ref":"#/components/schemas/BotCreateResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false},"access_token":"bm90X2FfcmVhbF90b2tlbg"}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bot_self:write","scopeRoles":["bot"]},"paginated":false},"docs":"# Ротация собственного токена бота\n\n**Метод**: `POST`\n\n**Путь**: `/bot/recreate_token`\n\n> **Скоуп:** `bot_self:write`\n\nМетод позволяет боту сгенерировать себе новый `access_token` своим же токеном — без участия администратора и без знания собственного `id`. Ротируется токен того бота, которому принадлежит токен запроса.\n\nТокен, которым выполнен запрос, инвалидируется сразу. Новый токен возвращается в ответе один раз — обязательно сохраните его, иначе бот потеряет доступ к API.\n\n## Пример запроса\n\n```bash\ncurl -X POST \"https://api.pachca.com/api/shared/v1/bot/recreate_token\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры созданного бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `\"bm90X2FfcmVhbF90b2tlbg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false\n },\n \"access_token\": \"bm90X2FfcmVhbF90b2tlbg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/bot/webhook","summary":"Саморегистрация вебхука бота","scope":"bot_self:webhook:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots update-webhook","docLink":"https://dev.pachca.com/api/bots/update-webhook","describe":"# PUT /bot/webhook — Саморегистрация вебхука бота\n\n> **Скоуп:** `bot_self:webhook:write`\n\n## Тело запроса\n\n- `webhook: object` (required) — Объект параметров вебхука\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пустая строка отключает вебхук.\n\n## Эквивалентная команда\n\n```bash\npachca bots update-webhook \\\n --outgoing-url=https://www.website.com/tasks/new \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/update-webhook\nПолная справка: `pachca api PUT /bot/webhook --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/bot/webhook","description":"Саморегистрация вебхука бота\n\nМетод позволяет боту самостоятельно изменить `URL` своего исходящего вебхука своим же токеном — без участия администратора и без знания собственного `id`. Меняется вебхук того бота, которому принадлежит токен. Чтобы отключить вебхук, передайте пустую строку в `outgoing_url`.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на саморегистрацию вебхука бота","required":["webhook"],"properties":{"webhook":{"type":"object","description":"Объект параметров вебхука","required":["outgoing_url"],"properties":{"outgoing_url":{"type":"string","description":"URL исходящего вебхука. Пустая строка отключает вебхук.","example":"https://www.website.com/tasks/new"}}}},"$ref":"#/components/schemas/BotWebhookSelfUpdateRequest"},"example":{"webhook":{"outgoing_url":"https://www.website.com/tasks/new"}}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры бота","required":["id","webhook"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false}},"$ref":"#/components/schemas/BotWebhook"}]}},"$ref":"#/components/schemas/BotResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bot_self:webhook:write","scopeRoles":["bot"]},"paginated":false},"docs":"# Саморегистрация вебхука бота\n\n**Метод**: `PUT`\n\n**Путь**: `/bot/webhook`\n\n> **Скоуп:** `bot_self:webhook:write`\n\nМетод позволяет боту самостоятельно изменить `URL` своего исходящего вебхука своим же токеном — без участия администратора и без знания собственного `id`. Меняется вебхук того бота, которому принадлежит токен. Чтобы отключить вебхук, передайте пустую строку в `outgoing_url`.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `webhook: object` (required) — Объект параметров вебхука\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пустая строка отключает вебхук.. Пример: `\"https://www.website.com/tasks/new\"`\n\n### Пример\n\n```json\n{\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/bot/webhook\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/bots","summary":"Новый бот","scope":"bots:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots create","docLink":"https://dev.pachca.com/api/bots/create","describe":"# POST /bots — Новый бот\n\n> **Скоуп:** `bots:write`\n\n## Тело запроса\n\n- `webhook: object` (required) — Объект параметров вебхука создаваемого бота\n - `name: string` (required) — Имя бота\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.\n - `outgoing_url: string` — URL исходящего вебхука\n - `events: array of string` — События, на которые подписан бот\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.\n - `template: string` — Шаблон форматирования входящего вебхука\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий\n\n## Эквивалентная команда\n\n```bash\npachca bots create \\\n --name=\"Бот задач\" \\\n --nickname=tasks_bot \\\n --outgoing-url=https://www.website.com/tasks/new \\\n --events=message_new \\\n --commands=/task,/help \\\n --scopes=messages:create \\\n --template=\"Заказ от {{ client }} на сумму {{ amount }} ₽\" \\\n --challenge-key=challenge \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/create\nПолная справка: `pachca api POST /bots --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/bots","description":"Новый бот\n\nМетод для создания бота и получения его `access_token`.\n\nПри создании вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка «API» настроек бота).","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание бота","required":["webhook"],"properties":{"webhook":{"type":"object","description":"Объект параметров вебхука создаваемого бота","required":["name"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота. Должен заканчиваться на `_bot`.","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new"},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","default":"commands","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","example":["/task","/help"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука","example":"Заказ от {{ client }} на сумму {{ amount }} ₽"},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","default":"liquid","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука","example":"challenge"},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","default":true,"example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","default":false,"example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","default":false,"example":false}}}},"$ref":"#/components/schemas/BotCreateRequest"},"example":{"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"]}}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры созданного бота","required":["id","webhook","access_token"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false}},"$ref":"#/components/schemas/BotWebhook"}]},"access_token":{"type":"string","description":"Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.","example":"bm90X2FfcmVhbF90b2tlbg"}},"$ref":"#/components/schemas/BotCreateResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false},"access_token":"bm90X2FfcmVhbF90b2tlbg"}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"bots:write","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Новый бот\n\n**Метод**: `POST`\n\n**Путь**: `/bots`\n\n> **Скоуп:** `bots:write`\n\nМетод для создания бота и получения его `access_token`.\n\nПри создании вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка «API» настроек бота).\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `webhook: object` (required) — Объект параметров вебхука создаваемого бота\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `[\"/task\",\"/help\"]`\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.. Пример: `[\"messages:create\"]`\n - `template: string` — Шаблон форматирования входящего вебхука. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n\n### Пример\n\n```json\n{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/bots\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\"\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры созданного бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `\"bm90X2FfcmVhbF90b2tlbg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false\n },\n \"access_token\": \"bm90X2FfcmVhbF90b2tlbg\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"GET","path":"/bots/{id}","summary":"Информация о боте","scope":"bots:read","plan":null,"auth":true,"paginated":false,"command":"pachca bots get","docLink":"https://dev.pachca.com/api/bots/get","describe":"# GET /bots/{id} — Информация о боте\n\n> **Скоуп:** `bots:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор бота\n\n## Эквивалентная команда\n\n```bash\npachca bots get 1738816 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/get\nПолная справка: `pachca api GET /bots/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/bots/{id}","description":"Информация о боте\n\nМетод для получения параметров бота по его `id`.","parameters":[{"name":"id","in":"path","description":"Идентификатор бота","required":true,"schema":{"type":"integer","format":"int32","example":1738816},"example":1738816}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры бота","required":["id","webhook"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false}},"$ref":"#/components/schemas/BotWebhook"}]}},"$ref":"#/components/schemas/BotResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bots:read","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Информация о боте\n\n**Метод**: `GET`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:read`\n\nМетод для получения параметров бота по его `id`.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор бота\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/bots/1738816\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false\n }\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/bots/{id}","summary":"Редактирование бота","scope":"bots:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots update","docLink":"https://dev.pachca.com/api/bots/update","describe":"# PUT /bots/{id} — Редактирование бота\n\n> **Скоуп:** `bots:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор бота\n\n## Тело запроса\n\n- `webhook: object` (required) — Объект параметров вебхука редактируемого бота\n - `name: string` — Имя бота\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.\n - `outgoing_url: string` — URL исходящего вебхука\n - `events: array of string` — События, на которые подписан бот\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.\n - `template: string` — Шаблон форматирования входящего вебхука\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий\n\n## Эквивалентная команда\n\n```bash\npachca bots update 1738816 \\\n --name=\"Бот задач\" \\\n --nickname=tasks_bot \\\n --outgoing-url=https://www.website.com/tasks/new \\\n --events=message_new \\\n --commands=/task,/help \\\n --scopes=messages:create \\\n --template=\"Заказ от {{ client }} на сумму {{ amount }} ₽\" \\\n --challenge-key=challenge \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/update\nПолная справка: `pachca api PUT /bots/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/bots/{id}","description":"Редактирование бота\n\nМетод для редактирования бота.\n\nДля редактирования бота вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса.\n\nВы не можете редактировать бота, настройки которого вам недоступны (поле «Кто может редактировать настройки бота» находится во вкладке «Основное» в настройках бота).","parameters":[{"name":"id","in":"path","description":"Идентификатор бота","required":true,"schema":{"type":"integer","format":"int32","example":1738816},"example":1738816}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на обновление бота","required":["webhook"],"properties":{"webhook":{"type":"object","description":"Объект параметров вебхука редактируемого бота","properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота. Должен заканчиваться на `_bot`.","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new"},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","default":"commands","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","example":["/task","/help"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука","example":"Заказ от {{ client }} на сумму {{ amount }} ₽"},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","default":"liquid","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука","example":"challenge"},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","default":true,"example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","default":false,"example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","default":false,"example":false}}}},"$ref":"#/components/schemas/BotUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры бота","required":["id","webhook"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false}},"$ref":"#/components/schemas/BotWebhook"}]}},"$ref":"#/components/schemas/BotResponse"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bots:write","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Редактирование бота\n\n**Метод**: `PUT`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:write`\n\nМетод для редактирования бота.\n\nДля редактирования бота вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса.\n\nВы не можете редактировать бота, настройки которого вам недоступны (поле «Кто может редактировать настройки бота» находится во вкладке «Основное» в настройках бота).\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор бота\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `webhook: object` (required) — Объект параметров вебхука редактируемого бота\n - `name: string` — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `[\"/task\",\"/help\"]`\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.. Пример: `[\"messages:create\"]`\n - `template: string` — Шаблон форматирования входящего вебхука. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n\n### Пример\n\n```json\n{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/bots/1738816\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\"\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/bots/{id}/recreate_token","summary":"Ротация токена бота","scope":"bots:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots recreate-token","docLink":"https://dev.pachca.com/api/bots/recreate-token","describe":"# POST /bots/{id}/recreate_token — Ротация токена бота\n\n> **Скоуп:** `bots:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор бота\n\n## Эквивалентная команда\n\n```bash\npachca bots recreate-token 1738816 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/recreate-token\nПолная справка: `pachca api POST /bots/{id}/recreate_token --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/bots/{id}/recreate_token","description":"Ротация токена бота\n\nМетод генерирует боту новый `access_token` и сразу инвалидирует прежний. Используйте его при компрометации токена или плановой ротации секрета в `CI`.\n\nДоступен администратору, владельцу компании или создателю бота. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.","parameters":[{"name":"id","in":"path","description":"Идентификатор бота","required":true,"schema":{"type":"integer","format":"int32","example":1738816},"example":1738816}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры созданного бота","required":["id","webhook","access_token"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false}},"$ref":"#/components/schemas/BotWebhook"}]},"access_token":{"type":"string","description":"Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.","example":"bm90X2FfcmVhbF90b2tlbg"}},"$ref":"#/components/schemas/BotCreateResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false},"access_token":"bm90X2FfcmVhbF90b2tlbg"}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bots:write","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Ротация токена бота\n\n**Метод**: `POST`\n\n**Путь**: `/bots/{id}/recreate_token`\n\n> **Скоуп:** `bots:write`\n\nМетод генерирует боту новый `access_token` и сразу инвалидирует прежний. Используйте его при компрометации токена или плановой ротации секрета в `CI`.\n\nДоступен администратору, владельцу компании или создателю бота. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор бота\n\n\n## Пример запроса\n\n```bash\ncurl -X POST \"https://api.pachca.com/api/shared/v1/bots/1738816/recreate_token\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры созданного бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `\"bm90X2FfcmVhbF90b2tlbg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false\n },\n \"access_token\": \"bm90X2FfcmVhbF90b2tlbg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/chats","summary":"Новый чат","scope":"chats:create","plan":null,"auth":true,"paginated":false,"command":"pachca chats create","docLink":"https://dev.pachca.com/api/chats/create","describe":"# POST /chats — Новый чат\n\n> **Скоуп:** `chats:create`\n\n## Тело запроса\n\n- `chat: object` (required) — Собранный объект параметров создаваемого чата\n - `name: string` (required) — Название\n - `member_ids: array of integer` — Массив идентификаторов пользователей, которые станут участниками\n - `group_tag_ids: array of integer` — Массив идентификаторов тегов, которые станут участниками\n - `channel: boolean` (default: false) — Является каналом\n - `public: boolean` (default: false) — Открытый доступ\n\n## Эквивалентная команда\n\n```bash\npachca chats create \\\n --name=\"🤿 aqua\" \\\n --member-ids=186,187 \\\n --group-tag-ids=86,18 \\\n --channel \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/create\nПолная справка: `pachca api POST /chats --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/chats","description":"Новый чат\n\nМетод для создания нового чата.\n\nДля создания личной переписки 1 на 1 с пользователем пользуйтесь методом [Новое сообщение](POST /messages).\n\nПри создании чата вы автоматически становитесь участником.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание чата","required":["chat"],"properties":{"chat":{"type":"object","description":"Собранный объект параметров создаваемого чата","required":["name"],"properties":{"name":{"type":"string","description":"Название","example":"🤿 aqua"},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, которые станут участниками","example":[186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, которые станут участниками","example":[86,18],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","default":false,"example":true},"public":{"type":"boolean","description":"Открытый доступ","default":false,"example":false}}}},"$ref":"#/components/schemas/ChatCreateRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:create","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Новый чат\n\n**Метод**: `POST`\n\n**Путь**: `/chats`\n\n> **Скоуп:** `chats:create`\n\nМетод для создания нового чата.\n\nДля создания личной переписки 1 на 1 с пользователем пользуйтесь методом [Новое сообщение](POST /messages).\n\nПри создании чата вы автоматически становитесь участником.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `chat: object` (required) — Собранный объект параметров создаваемого чата\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `member_ids: array of integer` — Массив идентификаторов пользователей, которые станут участниками. Пример: `[186,187]`\n - `group_tag_ids: array of integer` — Массив идентификаторов тегов, которые станут участниками. Пример: `[86,18]`\n - `channel: boolean` (default: false) — Является каналом. Пример: `true`\n - `public: boolean` (default: false) — Открытый доступ. Пример: `false`\n\n### Пример\n\n```json\n{\n \"chat\": {\n \"name\": \"🤿 aqua\",\n \"member_ids\": [\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 86,\n 18\n ],\n \"channel\": true\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"chat\": {\n \"name\": \"🤿 aqua\",\n \"member_ids\": [\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 86,\n 18\n ],\n \"channel\": true\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Чат\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/chats","summary":"Список чатов","scope":"chats:read","plan":null,"auth":true,"paginated":true,"command":"pachca chats list","docLink":"https://dev.pachca.com/api/chats/list","describe":"# GET /chats — Список чатов\n\n> **Скоуп:** `chats:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `sort` — query: Поле сортировки\n- `order` — query: Направление сортировки\n- `availability` — query: Параметр, который отвечает за доступность и выборку чатов для пользователя\n- `last_message_at_after` — query: Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `last_message_at_before` — query: Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `personal` — query: Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca chats list \\\n --sort=id \\\n --order=desc \\\n --availability=is_member \\\n --last-message-at-after=2025-01-01T00:00:00.000Z \\\n --last-message-at-before=2025-02-01T00:00:00.000Z \\\n --no-personal \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/list\nПолная справка: `pachca api GET /chats --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/chats","description":"Список чатов\n\nМетод для получения списка чатов по заданным параметрам.","parameters":[{"name":"sort","in":"query","description":"Поле сортировки","required":false,"schema":{"default":"id","allOf":[{"type":"string","description":"Поле сортировки чатов","enum":["id","last_message_at"],"x-enum-descriptions":{"id":"По идентификатору чата","last_message_at":"По дате и времени создания последнего сообщения"},"$ref":"#/components/schemas/ChatSortField"}]},"example":"id","explode":false},{"name":"order","in":"query","description":"Направление сортировки","required":false,"schema":{"default":"desc","allOf":[{"type":"string","description":"Порядок сортировки","enum":["asc","desc"],"x-enum-descriptions":{"asc":"По возрастанию","desc":"По убыванию"},"$ref":"#/components/schemas/SortOrder"}]},"example":"desc","explode":false},{"name":"availability","in":"query","description":"Параметр, который отвечает за доступность и выборку чатов для пользователя","required":false,"schema":{"default":"is_member","allOf":[{"type":"string","description":"Доступность чатов для пользователя","enum":["is_member","public"],"x-enum-descriptions":{"is_member":"Чаты, где пользователь является участником","public":"Все открытые чаты компании, вне зависимости от участия в них пользователя"},"$ref":"#/components/schemas/ChatAvailability"}]},"example":"is_member","explode":false},{"name":"last_message_at_after","in":"query","description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","required":false,"schema":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"},"example":"2025-01-01T00:00:00.000Z","explode":false},{"name":"last_message_at_before","in":"query","description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","required":false,"schema":{"type":"string","format":"date-time","example":"2025-02-01T00:00:00.000Z"},"example":"2025-02-01T00:00:00.000Z","explode":false},{"name":"personal","in":"query","description":"Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.","required":false,"schema":{"type":"boolean","example":false},"example":false,"explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список чатов\n\n**Метод**: `GET`\n\n**Путь**: `/chats`\n\n> **Скоуп:** `chats:read`\n\nМетод для получения списка чатов по заданным параметрам.\n\n## Параметры\n\n### Query параметры\n\n- `sort: string` (default: id) — Поле сортировки\n- `order: string` (default: desc) — Направление сортировки\n- `availability: string` (default: is_member) — Параметр, который отвечает за доступность и выборку чатов для пользователя\n- `last_message_at_after: date-time` — Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `last_message_at_before: date-time` — Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `personal: boolean` — Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/chats?sort=id&order=desc&availability=is_member&last_message_at_after=2025-01-01T00:00:00.000Z&last_message_at_before=2025-02-01T00:00:00.000Z&personal=false&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/chats/exports","summary":"Экспорт сообщений","scope":"chat_exports:write","plan":"corporation","auth":true,"paginated":false,"command":"pachca chats request-export","docLink":"https://dev.pachca.com/api/chats/request-export","describe":"# POST /chats/exports — Экспорт сообщений\n\n> **Скоуп:** `chat_exports:write`\n\n> **Тариф:** Корпорация\n\n## Тело запроса\n\n- `start_at: date` (required) — Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD\n- `end_at: date` (required) — Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD\n- `webhook_url: string` (required) — Адрес, на который будет отправлен вебхук по завершению экспорта\n- `chat_ids: array of integer` — Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.\n- `skip_chats_file: boolean` (default: false) — Пропуск формирования файла со списком чатов (chats.json)\n\n## Эквивалентная команда\n\n```bash\npachca chats request-export \\\n --start-at=2025-03-20 \\\n --end-at=2025-03-20 \\\n --webhook-url=https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2 \\\n --chat-ids=1381521 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/request-export\nПолная справка: `pachca api POST /chats/exports --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/chats/exports","description":"Экспорт сообщений\n\nМетод для запрашивания экспорта сообщений за указанный период.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на экспорт сообщений","required":["start_at","end_at","webhook_url"],"properties":{"start_at":{"type":"string","format":"date","description":"Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","example":"2025-03-20"},"end_at":{"type":"string","format":"date","description":"Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","example":"2025-03-20"},"webhook_url":{"type":"string","description":"Адрес, на который будет отправлен вебхук по завершению экспорта","example":"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2"},"chat_ids":{"type":"array","description":"Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.","example":[1381521],"items":{"type":"integer","format":"int32"}},"skip_chats_file":{"type":"boolean","description":"Пропуск формирования файла со списком чатов (chats.json)","default":false,"example":false}},"$ref":"#/components/schemas/ExportRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_exports:write","plan":"corporation","scopeRoles":["owner"]},"paginated":false},"docs":"# Экспорт сообщений\n\n**Метод**: `POST`\n\n**Путь**: `/chats/exports`\n\n> **Скоуп:** `chat_exports:write`\n\n> **Внимание:** Доступно только на тарифе **Корпорация**\n\nМетод для запрашивания экспорта сообщений за указанный период.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `start_at: date` (required) — Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD. Пример: `\"2025-03-20\"`\n- `end_at: date` (required) — Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD. Пример: `\"2025-03-20\"`\n- `webhook_url: string` (required) — Адрес, на который будет отправлен вебхук по завершению экспорта. Пример: `\"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2\"`\n- `chat_ids: array of integer` — Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.. Пример: `[1381521]`\n- `skip_chats_file: boolean` (default: false) — Пропуск формирования файла со списком чатов (chats.json). Пример: `false`\n\n### Пример\n\n```json\n{\n \"start_at\": \"2025-03-20\",\n \"end_at\": \"2025-03-20\",\n \"webhook_url\": \"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2\",\n \"chat_ids\": [\n 1381521\n ]\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/exports\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"start_at\": \"2025-03-20\",\n \"end_at\": \"2025-03-20\",\n \"webhook_url\": \"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2\",\n \"chat_ids\": [\n 1381521\n ]\n}'\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **ApiError**: Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)\n - `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/chats/exports/{id}","summary":"Скачать архив экспорта","scope":"chat_exports:read","plan":"corporation","auth":true,"paginated":false,"command":"pachca chats download-export","docLink":"https://dev.pachca.com/api/chats/download-export","describe":"# GET /chats/exports/{id} — Скачать архив экспорта\n\n> **Скоуп:** `chat_exports:read`\n\n> **Тариф:** Корпорация\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор экспорта\n\n## Эквивалентная команда\n\n```bash\npachca chats download-export 22322 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/download-export\nПолная справка: `pachca api GET /chats/exports/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/chats/exports/{id}","description":"Скачать архив экспорта\n\nМетод для скачивания готового архива экспорта сообщений.\n\nДля получения архива вам необходимо знать его `id` и указать его в `URL` запроса.\n\nВ ответ на запрос сервер вернёт `302 Found` с заголовком `Location`, содержащим временную ссылку на скачивание файла. Большинство HTTP-клиентов автоматически следуют редиректу и скачивают файл.","parameters":[{"name":"id","in":"path","description":"Идентификатор экспорта","required":true,"schema":{"type":"integer","format":"int32","example":22322},"example":22322}],"responses":{"302":{"description":"Redirection","headers":{"location":{"schema":{"type":"string","format":"uri"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"},{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}]}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_exports:read","plan":"corporation","scopeRoles":["owner"]},"paginated":false},"docs":"# Скачать архив экспорта\n\n**Метод**: `GET`\n\n**Путь**: `/chats/exports/{id}`\n\n> **Скоуп:** `chat_exports:read`\n\n> **Внимание:** Доступно только на тарифе **Корпорация**\n\nМетод для скачивания готового архива экспорта сообщений.\n\nДля получения архива вам необходимо знать его `id` и указать его в `URL` запроса.\n\nВ ответ на запрос сервер вернёт `302 Found` с заголовком `Location`, содержащим временную ссылку на скачивание файла. Большинство HTTP-клиентов автоматически следуют редиректу и скачивают файл.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор экспорта\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/exports/22322\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 302: Redirection\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n- **Вариант 2**\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/chats/{id}","summary":"Информация о чате","scope":"chats:read","plan":null,"auth":true,"paginated":false,"command":"pachca chats get","docLink":"https://dev.pachca.com/api/chats/get","describe":"# GET /chats/{id} — Информация о чате\n\n> **Скоуп:** `chats:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Эквивалентная команда\n\n```bash\npachca chats get 334 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/get\nПолная справка: `pachca api GET /chats/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/chats/{id}","description":"Информация о чате\n\nМетод для получения информации о чате.\n\nДля получения чата вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Информация о чате\n\n**Метод**: `GET`\n\n**Путь**: `/chats/{id}`\n\n> **Скоуп:** `chats:read`\n\nМетод для получения информации о чате.\n\nДля получения чата вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/334\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Чат\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/chats/{id}","summary":"Редактирование чата","scope":"chats:update","plan":null,"auth":true,"paginated":false,"command":"pachca chats update","docLink":"https://dev.pachca.com/api/chats/update","describe":"# PUT /chats/{id} — Редактирование чата\n\n> **Скоуп:** `chats:update`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Тело запроса\n\n- `chat: object` (required) — Собранный объект параметров обновляемого чата\n - `name: string` — Название\n - `public: boolean` — Открытый доступ\n\n## Эквивалентная команда\n\n```bash\npachca chats update 334 \\\n --name=Бассейн \\\n --public \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/update\nПолная справка: `pachca api PUT /chats/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/chats/{id}","description":"Редактирование чата\n\nМетод для обновления параметров чата.\n\nДля обновления нужно знать `id` чата и указать его в `URL`. Все обновляемые поля передаются в теле запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на обновление чата","required":["chat"],"properties":{"chat":{"type":"object","description":"Собранный объект параметров обновляемого чата","properties":{"name":{"type":"string","description":"Название","example":"Бассейн"},"public":{"type":"boolean","description":"Открытый доступ","example":true}}}},"$ref":"#/components/schemas/ChatUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:update","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Редактирование чата\n\n**Метод**: `PUT`\n\n**Путь**: `/chats/{id}`\n\n> **Скоуп:** `chats:update`\n\nМетод для обновления параметров чата.\n\nДля обновления нужно знать `id` чата и указать его в `URL`. Все обновляемые поля передаются в теле запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `chat: object` (required) — Собранный объект параметров обновляемого чата\n - `name: string` — Название. Пример: `\"Бассейн\"`\n - `public: boolean` — Открытый доступ. Пример: `true`\n\n### Пример\n\n```json\n{\n \"chat\": {\n \"name\": \"Бассейн\",\n \"public\": true\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/chats/334\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"chat\": {\n \"name\": \"Бассейн\",\n \"public\": true\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Чат\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/chats/{id}/archive","summary":"Архивация чата","scope":"chats:archive","plan":null,"auth":true,"paginated":false,"command":"pachca chats archive","docLink":"https://dev.pachca.com/api/chats/archive","describe":"# PUT /chats/{id}/archive — Архивация чата\n\n> **Скоуп:** `chats:archive`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Эквивалентная команда\n\n```bash\npachca chats archive 334 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/archive\nПолная справка: `pachca api PUT /chats/{id}/archive --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/chats/{id}/archive","description":"Архивация чата\n\nМетод для отправки чата в архив.\n\nДля отправки чата в архив вам необходимо знать `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:archive","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Архивация чата\n\n**Метод**: `PUT`\n\n**Путь**: `/chats/{id}/archive`\n\n> **Скоуп:** `chats:archive`\n\nМетод для отправки чата в архив.\n\nДля отправки чата в архив вам необходимо знать `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/chats/334/archive\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/chats/{id}/group_tags","summary":"Добавление тегов","scope":"chat_members:write","plan":null,"auth":true,"paginated":false,"command":"pachca members add-group-tags","docLink":"https://dev.pachca.com/api/members/add-group-tags","describe":"# POST /chats/{id}/group_tags — Добавление тегов\n\n> **Скоуп:** `chat_members:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Тело запроса\n\n- `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, которые станут участниками\n\n## Эквивалентная команда\n\n```bash\npachca members add-group-tags 334 \\\n --group-tag-ids=86,18 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/add-group-tags\nПолная справка: `pachca api POST /chats/{id}/group_tags --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/chats/{id}/group_tags","description":"Добавление тегов\n\nМетод для добавления тегов в состав участников беседы или канала.\n\nПосле добавления тега все его участники автоматически становятся участниками чата. Состав участников тега и чата синхронизируется автоматически: при добавлении нового участника в тег он сразу появляется в чате, при удалении из тега — удаляется из чата.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на добавление тегов в чат","required":["group_tag_ids"],"properties":{"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, которые станут участниками","example":[86,18],"items":{"type":"integer","format":"int32"}}},"$ref":"#/components/schemas/AddTagsRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Добавление тегов\n\n**Метод**: `POST`\n\n**Путь**: `/chats/{id}/group_tags`\n\n> **Скоуп:** `chat_members:write`\n\nМетод для добавления тегов в состав участников беседы или канала.\n\nПосле добавления тега все его участники автоматически становятся участниками чата. Состав участников тега и чата синхронизируется автоматически: при добавлении нового участника в тег он сразу появляется в чате, при удалении из тега — удаляется из чата.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, которые станут участниками. Пример: `[86,18]`\n\n### Пример\n\n```json\n{\n \"group_tag_ids\": [\n 86,\n 18\n ]\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/334/group_tags\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"group_tag_ids\": [\n 86,\n 18\n ]\n}'\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/chats/{id}/group_tags/{tag_id}","summary":"Исключение тега","scope":"chat_members:write","plan":null,"auth":true,"paginated":false,"command":"pachca members remove-group-tag","docLink":"https://dev.pachca.com/api/members/remove-group-tag","describe":"# DELETE /chats/{id}/group_tags/{tag_id} — Исключение тега\n\n> **Скоуп:** `chat_members:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n- `tag_id` — путь (обязательный): Идентификатор тега\n\n## Эквивалентная команда\n\n```bash\npachca members remove-group-tag 334 86 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/remove-group-tag\nПолная справка: `pachca api DELETE /chats/{id}/group_tags/{tag_id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/chats/{id}/group_tags/{tag_id}","description":"Исключение тега\n\nМетод для исключения тега из состава участников беседы или канала.\n\nДля исключения тега вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334},{"name":"tag_id","in":"path","description":"Идентификатор тега","required":true,"schema":{"type":"integer","format":"int32","example":86},"example":86}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Исключение тега\n\n**Метод**: `DELETE`\n\n**Путь**: `/chats/{id}/group_tags/{tag_id}`\n\n> **Скоуп:** `chat_members:write`\n\nМетод для исключения тега из состава участников беседы или канала.\n\nДля исключения тега вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n- `tag_id: integer, int32` (required) — Идентификатор тега\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/chats/334/group_tags/86\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/chats/{id}/leave","summary":"Выход из беседы или канала","scope":"chats:leave","plan":null,"auth":true,"paginated":false,"command":"pachca members leave","docLink":"https://dev.pachca.com/api/members/leave","describe":"# DELETE /chats/{id}/leave — Выход из беседы или канала\n\n> **Скоуп:** `chats:leave`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Эквивалентная команда\n\n```bash\npachca members leave 334 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/leave\nПолная справка: `pachca api DELETE /chats/{id}/leave --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/chats/{id}/leave","description":"Выход из беседы или канала\n\nМетод для самостоятельного выхода из беседы или канала.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:leave","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Выход из беседы или канала\n\n**Метод**: `DELETE`\n\n**Путь**: `/chats/{id}/leave`\n\n> **Скоуп:** `chats:leave`\n\nМетод для самостоятельного выхода из беседы или канала.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/chats/334/leave\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/chats/{id}/members","summary":"Список участников чата","scope":"chat_members:read","plan":null,"auth":true,"paginated":true,"command":"pachca members list","docLink":"https://dev.pachca.com/api/members/list","describe":"# GET /chats/{id}/members — Список участников чата\n\n> **Скоуп:** `chat_members:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n- `role` — query: Роль в чате\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca members list 334 \\\n --role=all \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/list\nПолная справка: `pachca api GET /chats/{id}/members --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/chats/{id}/members","description":"Список участников чата\n\nМетод для получения актуального списка участников чата.\n\nВладелец пространства может получить состав участников любого чата пространства. Администраторы и боты могут получить список участников только тех чатов, в которых состоят (или которые являются открытыми).","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334},{"name":"role","in":"query","description":"Роль в чате","required":false,"schema":{"default":"all","allOf":[{"type":"string","description":"Роль участника чата (с фильтром все)","enum":["all","owner","admin","editor","member"],"x-enum-descriptions":{"all":"Любая роль","owner":"Создатель","admin":"Админ","editor":"Редактор","member":"Участник/подписчик"},"$ref":"#/components/schemas/ChatMemberRoleFilter"}]},"example":"all","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список участников чата\n\n**Метод**: `GET`\n\n**Путь**: `/chats/{id}/members`\n\n> **Скоуп:** `chat_members:read`\n\nМетод для получения актуального списка участников чата.\n\nВладелец пространства может получить состав участников любого чата пространства. Администраторы и боты могут получить список участников только тех чатов, в которых состоят (или которые являются открытыми).\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n### Query параметры\n\n- `role: string` (default: all) — Роль в чате\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/chats/334/members?role=all&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/chats/{id}/members","summary":"Добавление пользователей","scope":"chat_members:write","plan":null,"auth":true,"paginated":false,"command":"pachca members add","docLink":"https://dev.pachca.com/api/members/add","describe":"# POST /chats/{id}/members — Добавление пользователей\n\n> **Скоуп:** `chat_members:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата (беседа, канал или чат треда)\n\n## Тело запроса\n\n- `member_ids: array of integer` (required) — Массив идентификаторов пользователей, которые станут участниками\n- `silent: boolean` — Не создавать в чате системное сообщение о добавлении участника\n\n## Эквивалентная команда\n\n```bash\npachca members add 334 \\\n --member-ids=186,187 \\\n --silent \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/add\nПолная справка: `pachca api POST /chats/{id}/members --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/chats/{id}/members","description":"Добавление пользователей\n\nМетод для добавления пользователей в состав участников беседы, канала или треда.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата (беседа, канал или чат треда)","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на добавление участников в чат","required":["member_ids"],"properties":{"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, которые станут участниками","example":[186,187],"items":{"type":"integer","format":"int32"}},"silent":{"type":"boolean","description":"Не создавать в чате системное сообщение о добавлении участника","example":true}},"$ref":"#/components/schemas/AddMembersRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Добавление пользователей\n\n**Метод**: `POST`\n\n**Путь**: `/chats/{id}/members`\n\n> **Скоуп:** `chat_members:write`\n\nМетод для добавления пользователей в состав участников беседы, канала или треда.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата (беседа, канал или чат треда)\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `member_ids: array of integer` (required) — Массив идентификаторов пользователей, которые станут участниками. Пример: `[186,187]`\n- `silent: boolean` — Не создавать в чате системное сообщение о добавлении участника. Пример: `true`\n\n### Пример\n\n```json\n{\n \"member_ids\": [\n 186,\n 187\n ],\n \"silent\": true\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/334/members\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"member_ids\": [\n 186,\n 187\n ],\n \"silent\": true\n}'\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/chats/{id}/members/{user_id}","summary":"Исключение пользователя","scope":"chat_members:write","plan":null,"auth":true,"paginated":false,"command":"pachca members remove","docLink":"https://dev.pachca.com/api/members/remove","describe":"# DELETE /chats/{id}/members/{user_id} — Исключение пользователя\n\n> **Скоуп:** `chat_members:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n- `user_id` — путь (обязательный): Идентификатор пользователя\n\n## Эквивалентная команда\n\n```bash\npachca members remove 334 186 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/remove\nПолная справка: `pachca api DELETE /chats/{id}/members/{user_id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/chats/{id}/members/{user_id}","description":"Исключение пользователя\n\nМетод для исключения пользователя из состава участников беседы или канала.\n\nЕсли пользователь является владельцем чата, то исключить его нельзя. Он может только самостоятельно выйти из чата, воспользовавшись методом [Выход из беседы или канала](DELETE /chats/{id}/leave).","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334},{"name":"user_id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":186},"example":186}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Исключение пользователя\n\n**Метод**: `DELETE`\n\n**Путь**: `/chats/{id}/members/{user_id}`\n\n> **Скоуп:** `chat_members:write`\n\nМетод для исключения пользователя из состава участников беседы или канала.\n\nЕсли пользователь является владельцем чата, то исключить его нельзя. Он может только самостоятельно выйти из чата, воспользовавшись методом [Выход из беседы или канала](DELETE /chats/{id}/leave).\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n- `user_id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/chats/334/members/186\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/chats/{id}/members/{user_id}","summary":"Редактирование роли","scope":"chat_members:write","plan":null,"auth":true,"paginated":false,"command":"pachca members update","docLink":"https://dev.pachca.com/api/members/update","describe":"# PUT /chats/{id}/members/{user_id} — Редактирование роли\n\n> **Скоуп:** `chat_members:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n- `user_id` — путь (обязательный): Идентификатор пользователя\n\n## Тело запроса\n\n- `role: string` (required) — Роль\n Значения: `admin` — Админ, `editor` — Редактор (доступно только для каналов), `member` — Участник или подписчик\n\n## Эквивалентная команда\n\n```bash\npachca members update 334 186 \\\n --role=admin \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/update\nПолная справка: `pachca api PUT /chats/{id}/members/{user_id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/chats/{id}/members/{user_id}","description":"Редактирование роли\n\nМетод для редактирования роли пользователя или бота в беседе или канале.\n\nДля редактирования роли в беседе или канале вам необходимо знать `id` чата и пользователя (или бота) и указать их в `URL` запроса. Все редактируемые параметры роли указываются в теле запроса.\n\nВладельцу чата роль изменить нельзя. Он всегда имеет права Админа в чате.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334},{"name":"user_id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":186},"example":186}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на изменение роли участника","required":["role"],"properties":{"role":{"description":"Роль","example":"admin","allOf":[{"type":"string","description":"Роль участника чата","enum":["admin","editor","member"],"x-enum-descriptions":{"admin":"Админ","editor":"Редактор (доступно только для каналов)","member":"Участник или подписчик"},"$ref":"#/components/schemas/ChatMemberRole"}]}},"$ref":"#/components/schemas/UpdateMemberRoleRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Редактирование роли\n\n**Метод**: `PUT`\n\n**Путь**: `/chats/{id}/members/{user_id}`\n\n> **Скоуп:** `chat_members:write`\n\nМетод для редактирования роли пользователя или бота в беседе или канале.\n\nДля редактирования роли в беседе или канале вам необходимо знать `id` чата и пользователя (или бота) и указать их в `URL` запроса. Все редактируемые параметры роли указываются в теле запроса.\n\nВладельцу чата роль изменить нельзя. Он всегда имеет права Админа в чате.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n- `user_id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `role: string` (required) — Роль\n Значения: `admin` — Админ, `editor` — Редактор (доступно только для каналов), `member` — Участник или подписчик\n\n### Пример\n\n```json\n{\n \"role\": \"admin\"\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/chats/334/members/186\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"role\": \"admin\"\n}'\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/chats/{id}/unarchive","summary":"Разархивация чата","scope":"chats:archive","plan":null,"auth":true,"paginated":false,"command":"pachca chats unarchive","docLink":"https://dev.pachca.com/api/chats/unarchive","describe":"# PUT /chats/{id}/unarchive — Разархивация чата\n\n> **Скоуп:** `chats:archive`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Эквивалентная команда\n\n```bash\npachca chats unarchive 334 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/unarchive\nПолная справка: `pachca api PUT /chats/{id}/unarchive --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/chats/{id}/unarchive","description":"Разархивация чата\n\nМетод для возвращения чата из архива.\n\nДля разархивации чата вам необходимо знать её `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:archive","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Разархивация чата\n\n**Метод**: `PUT`\n\n**Путь**: `/chats/{id}/unarchive`\n\n> **Скоуп:** `chats:archive`\n\nМетод для возвращения чата из архива.\n\nДля разархивации чата вам необходимо знать её `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/chats/334/unarchive\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/custom_properties","summary":"Список дополнительных полей","scope":"custom_properties:read","plan":null,"auth":true,"paginated":false,"command":"pachca custom-properties list","docLink":"https://dev.pachca.com/api/custom-properties/list","describe":"# GET /custom_properties — Список дополнительных полей\n\n> **Скоуп:** `custom_properties:read`\n\n## Параметры\n\n- `entity_type` — query (обязательный): Тип сущности\n\n## Эквивалентная команда\n\n```bash\npachca custom-properties list \\\n --entity-type=User \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/custom-properties/list\nПолная справка: `pachca api GET /custom_properties --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/custom_properties","description":"Список дополнительных полей\n\nНа данный момент работа с дополнительными полями типа \"Файл\" недоступна.\n\nМетод для получения актуального списка дополнительных полей участников и напоминаний в вашей компании.\n\nПо умолчанию в вашей компании все сущности имеют только базовые поля. Но администратор вашей компании может добавлять дополнительные поля, редактировать их и удалять. Если при создании сотрудников (или напоминаний) вы используете дополнительные поля, которые не являются актуальными (удалены или не существуют) - вы получите ошибку.","parameters":[{"name":"entity_type","in":"query","description":"Тип сущности","required":true,"schema":{"type":"string","description":"Тип сущности для поиска","enum":["User","Task"],"x-enum-descriptions":{"User":"Пользователь","Task":"Задача"},"example":"User","$ref":"#/components/schemas/SearchEntityType"},"example":"User","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]}},"$ref":"#/components/schemas/CustomPropertyDefinition"}}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"custom_properties:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Список дополнительных полей\n\n**Метод**: `GET`\n\n**Путь**: `/custom_properties`\n\n> **Скоуп:** `custom_properties:read`\n\nНа данный момент работа с дополнительными полями типа \"Файл\" недоступна.\n\nМетод для получения актуального списка дополнительных полей участников и напоминаний в вашей компании.\n\nПо умолчанию в вашей компании все сущности имеют только базовые поля. Но администратор вашей компании может добавлять дополнительные поля, редактировать их и удалять. Если при создании сотрудников (или напоминаний) вы используете дополнительные поля, которые не являются актуальными (удалены или не существуют) - вы получите ошибку.\n\n## Параметры\n\n### Query параметры\n\n- `entity_type: string` (required) — Тип сущности\n Значения: `User`, `Task`\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/custom_properties?entity_type=User\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\"\n }\n ]\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/direct_url","summary":"Загрузка файла","scope":null,"plan":null,"auth":false,"paginated":false,"command":"pachca files direct-url","docLink":"https://dev.pachca.com/api/files/direct-url","describe":"# POST /direct_url — Загрузка файла\n\n> Авторизация не требуется\n\n## Тело запроса\n\n- `Content-Disposition: string` (required) — Параметр Content-Disposition, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `acl: string` (required) — Параметр acl, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `policy: string` (required) — Параметр policy, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-credential: string` (required) — Параметр x-amz-credential, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-algorithm: string` (required) — Параметр x-amz-algorithm, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-date: string` (required) — Параметр x-amz-date, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-signature: string` (required) — Параметр x-amz-signature, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `key: string` (required) — Параметр key, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `file: binary` (required) — Файл для загрузки\n\n## Эквивалентная команда\n\n```bash\n# URL получается из ответа POST /uploads (поле direct_url)\npachca files direct-url \\\n --direct-url=$DIRECT_URL \\\n --content-disposition=your_api_token_here \\\n --acl=your_api_token_here \\\n --policy=your_api_token_here \\\n --x-amz-credential=your_api_token_here \\\n --x-amz-algorithm=your_api_token_here \\\n --x-amz-date=your_api_token_here \\\n --x-amz-signature=your_api_token_here \\\n --key=your_api_token_here \\\n --file=./file.jpg \\\n --json\n```\n\nДокументация: https://dev.pachca.com/api/files/direct-url\nПолная справка: `pachca api POST /direct_url --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/direct_url","description":"Загрузка файла\n\nЗагрузка файла на сервер с форматом `multipart/form-data`. Параметры для загрузки получаются через метод [Получение подписи, ключа и других параметров](POST /uploads).","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["Content-Disposition","acl","policy","x-amz-credential","x-amz-algorithm","x-amz-date","x-amz-signature","key","file"],"properties":{"Content-Disposition":{"type":"string","description":"Параметр Content-Disposition, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"acl":{"type":"string","description":"Параметр acl, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"policy":{"type":"string","description":"Параметр policy, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"x-amz-credential":{"type":"string","description":"Параметр x-amz-credential, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"x-amz-algorithm":{"type":"string","description":"Параметр x-amz-algorithm, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"x-amz-date":{"type":"string","description":"Параметр x-amz-date, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"x-amz-signature":{"type":"string","description":"Параметр x-amz-signature, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"key":{"type":"string","description":"Параметр key, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)"},"file":{"type":"string","format":"binary","description":"Файл для загрузки"}},"$ref":"#/components/schemas/FileUploadRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "}},"requirements":{"auth":false},"paginated":false},"docs":"# Загрузка файла\n\n**Метод**: `POST`\n\n**Путь**: `/direct_url`\n\n> Авторизация не требуется\n\nЗагрузка файла на сервер с форматом `multipart/form-data`. Параметры для загрузки получаются через метод [Получение подписи, ключа и других параметров](POST /uploads).\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `multipart/form-data`\n\n### Схема\n\n- `Content-Disposition: string` (required) — Параметр Content-Disposition, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `acl: string` (required) — Параметр acl, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `policy: string` (required) — Параметр policy, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-credential: string` (required) — Параметр x-amz-credential, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-algorithm: string` (required) — Параметр x-amz-algorithm, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-date: string` (required) — Параметр x-amz-date, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `x-amz-signature: string` (required) — Параметр x-amz-signature, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `key: string` (required) — Параметр key, полученный в ответе на запрос [Получение подписи, ключа и других параметров](POST /uploads)\n- `file: binary` (required) — Файл для загрузки\n\n\n## Пример запроса\n\n```bash\n# URL получается из ответа POST /uploads (поле direct_url)\ncurl \"$DIRECT_URL\" \\\n -F \"Content-Disposition=attachment\" \\\n -F \"acl=private\" \\\n -F \"policy=eyJloNBpcmF0aW9u...\" \\\n -F \"x-amz-credential=286471_server/20211122/kz-6x/s3/aws4_request\" \\\n -F \"x-amz-algorithm=AWS4-HMAC-SHA256\" \\\n -F \"x-amz-date=20211122T065734Z\" \\\n -F \"x-amz-signature=87e8f3ba4083c937c0e891d7a11tre932d8c33cg4bacf5380bf27624c1ok1475\" \\\n -F \"key=attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/$filename\" \\\n -F \"file=@filename.png\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n"},{"method":"POST","path":"/group_tags","summary":"Новый тег","scope":"group_tags:write","plan":null,"auth":true,"paginated":false,"command":"pachca group-tags create","docLink":"https://dev.pachca.com/api/group-tags/create","describe":"# POST /group_tags — Новый тег\n\n> **Скоуп:** `group_tags:write`\n\n## Тело запроса\n\n- `group_tag: object` (required)\n - `name: string` (required) — Название тега\n\n## Эквивалентная команда\n\n```bash\npachca group-tags create \\\n --name=\"Новое название тега\" \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/group-tags/create\nПолная справка: `pachca api POST /group_tags --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/group_tags","description":"Новый тег\n\nМетод для создания нового тега.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание или редактирование тега","required":["group_tag"],"properties":{"group_tag":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Название тега","example":"Новое название тега"}}}},"$ref":"#/components/schemas/GroupTagRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Тег","required":["id","name","users_count"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор тега","example":9111},"name":{"type":"string","description":"Название тега","example":"Design"},"users_count":{"type":"integer","format":"int32","description":"Количество сотрудников, которые имеют этот тег","example":6}},"$ref":"#/components/schemas/GroupTag"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"group_tags:write","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Новый тег\n\n**Метод**: `POST`\n\n**Путь**: `/group_tags`\n\n> **Скоуп:** `group_tags:write`\n\nМетод для создания нового тега.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `group_tag: object` (required)\n - `name: string` (required) — Название тега. Пример: `\"Новое название тега\"`\n\n### Пример\n\n```json\n{\n \"group_tag\": {\n \"name\": \"Новое название тега\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/group_tags\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"group_tag\": {\n \"name\": \"Новое название тега\"\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Тег\n - `id: integer, int32` (required) — Идентификатор тега. Пример: `9111`\n - `name: string` (required) — Название тега. Пример: `\"Design\"`\n - `users_count: integer, int32` (required) — Количество сотрудников, которые имеют этот тег. Пример: `6`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 9111,\n \"name\": \"Design\",\n \"users_count\": 6\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/group_tags","summary":"Список тегов сотрудников","scope":"group_tags:read","plan":null,"auth":true,"paginated":true,"command":"pachca group-tags list","docLink":"https://dev.pachca.com/api/group-tags/list","describe":"# GET /group_tags — Список тегов сотрудников\n\n> **Скоуп:** `group_tags:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `names` — query: Массив названий тегов, по которым вы хотите отфильтровать список\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca group-tags list \\\n --names=Design,Product \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/group-tags/list\nПолная справка: `pachca api GET /group_tags --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/group_tags","description":"Список тегов сотрудников\n\nМетод для получения актуального списка тегов сотрудников. Названия тегов являются уникальными в компании.","parameters":[{"name":"names","in":"query","description":"Массив названий тегов, по которым вы хотите отфильтровать список","required":false,"schema":{"type":"array","description":"Массив названий тегов","example":["Design","Product"],"items":{"type":"string"},"$ref":"#/components/schemas/TagNamesFilter"},"example":["Design","Product"]},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Тег","required":["id","name","users_count"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор тега","example":9111},"name":{"type":"string","description":"Название тега","example":"Design"},"users_count":{"type":"integer","format":"int32","description":"Количество сотрудников, которые имеют этот тег","example":6}},"$ref":"#/components/schemas/GroupTag"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"group_tags:read","scopeRoles":["owner","admin"]},"paginated":true},"docs":"# Список тегов сотрудников\n\n**Метод**: `GET`\n\n**Путь**: `/group_tags`\n\n> **Скоуп:** `group_tags:read`\n\nМетод для получения актуального списка тегов сотрудников. Названия тегов являются уникальными в компании.\n\n## Параметры\n\n### Query параметры\n\n- `names: array` — Массив названий тегов, по которым вы хотите отфильтровать список\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/group_tags?names[]=Design&names[]=Product&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор тега. Пример: `9111`\n - `name: string` (required) — Название тега. Пример: `\"Design\"`\n - `users_count: integer, int32` (required) — Количество сотрудников, которые имеют этот тег. Пример: `6`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 9111,\n \"name\": \"Design\",\n \"users_count\": 6\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/group_tags/{id}","summary":"Информация о теге","scope":"group_tags:read","plan":null,"auth":true,"paginated":false,"command":"pachca group-tags get","docLink":"https://dev.pachca.com/api/group-tags/get","describe":"# GET /group_tags/{id} — Информация о теге\n\n> **Скоуп:** `group_tags:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор тега\n\n## Эквивалентная команда\n\n```bash\npachca group-tags get 9111 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/group-tags/get\nПолная справка: `pachca api GET /group_tags/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/group_tags/{id}","description":"Информация о теге\n\nМетод для получения информации о теге. Названия тегов являются уникальными в компании.\n\nДля получения тега вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор тега","required":true,"schema":{"type":"integer","format":"int32","example":9111},"example":9111}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Тег","required":["id","name","users_count"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор тега","example":9111},"name":{"type":"string","description":"Название тега","example":"Design"},"users_count":{"type":"integer","format":"int32","description":"Количество сотрудников, которые имеют этот тег","example":6}},"$ref":"#/components/schemas/GroupTag"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"group_tags:read","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Информация о теге\n\n**Метод**: `GET`\n\n**Путь**: `/group_tags/{id}`\n\n> **Скоуп:** `group_tags:read`\n\nМетод для получения информации о теге. Названия тегов являются уникальными в компании.\n\nДля получения тега вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор тега\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/group_tags/9111\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Тег\n - `id: integer, int32` (required) — Идентификатор тега. Пример: `9111`\n - `name: string` (required) — Название тега. Пример: `\"Design\"`\n - `users_count: integer, int32` (required) — Количество сотрудников, которые имеют этот тег. Пример: `6`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 9111,\n \"name\": \"Design\",\n \"users_count\": 6\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/group_tags/{id}","summary":"Редактирование тега","scope":"group_tags:write","plan":null,"auth":true,"paginated":false,"command":"pachca group-tags update","docLink":"https://dev.pachca.com/api/group-tags/update","describe":"# PUT /group_tags/{id} — Редактирование тега\n\n> **Скоуп:** `group_tags:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор тега\n\n## Тело запроса\n\n- `group_tag: object` (required)\n - `name: string` (required) — Название тега\n\n## Эквивалентная команда\n\n```bash\npachca group-tags update 9111 \\\n --name=\"Новое название тега\" \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/group-tags/update\nПолная справка: `pachca api PUT /group_tags/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/group_tags/{id}","description":"Редактирование тега\n\nМетод для редактирования тега.\n\nДля редактирования тега вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры тега указываются в теле запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор тега","required":true,"schema":{"type":"integer","format":"int32","example":9111},"example":9111}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание или редактирование тега","required":["group_tag"],"properties":{"group_tag":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Название тега","example":"Новое название тега"}}}},"$ref":"#/components/schemas/GroupTagRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Тег","required":["id","name","users_count"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор тега","example":9111},"name":{"type":"string","description":"Название тега","example":"Design"},"users_count":{"type":"integer","format":"int32","description":"Количество сотрудников, которые имеют этот тег","example":6}},"$ref":"#/components/schemas/GroupTag"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"group_tags:write","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Редактирование тега\n\n**Метод**: `PUT`\n\n**Путь**: `/group_tags/{id}`\n\n> **Скоуп:** `group_tags:write`\n\nМетод для редактирования тега.\n\nДля редактирования тега вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры тега указываются в теле запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор тега\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `group_tag: object` (required)\n - `name: string` (required) — Название тега. Пример: `\"Новое название тега\"`\n\n### Пример\n\n```json\n{\n \"group_tag\": {\n \"name\": \"Новое название тега\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/group_tags/9111\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"group_tag\": {\n \"name\": \"Новое название тега\"\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Тег\n - `id: integer, int32` (required) — Идентификатор тега. Пример: `9111`\n - `name: string` (required) — Название тега. Пример: `\"Design\"`\n - `users_count: integer, int32` (required) — Количество сотрудников, которые имеют этот тег. Пример: `6`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 9111,\n \"name\": \"Design\",\n \"users_count\": 6\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/group_tags/{id}","summary":"Удаление тега","scope":"group_tags:write","plan":null,"auth":true,"paginated":false,"command":"pachca group-tags delete","docLink":"https://dev.pachca.com/api/group-tags/delete","describe":"# DELETE /group_tags/{id} — Удаление тега\n\n> **Скоуп:** `group_tags:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор тега\n\n## Эквивалентная команда\n\n```bash\npachca group-tags delete 9111 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/group-tags/delete\nПолная справка: `pachca api DELETE /group_tags/{id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/group_tags/{id}","description":"Удаление тега\n\nМетод для удаления тега.\n\nДля удаления тега вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор тега","required":true,"schema":{"type":"integer","format":"int32","example":9111},"example":9111}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"group_tags:write","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Удаление тега\n\n**Метод**: `DELETE`\n\n**Путь**: `/group_tags/{id}`\n\n> **Скоуп:** `group_tags:write`\n\nМетод для удаления тега.\n\nДля удаления тега вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор тега\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/group_tags/9111\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/group_tags/{id}/users","summary":"Список сотрудников тега","scope":"group_tags:read","plan":null,"auth":true,"paginated":true,"command":"pachca group-tags list-users","docLink":"https://dev.pachca.com/api/group-tags/list-users","describe":"# GET /group_tags/{id}/users — Список сотрудников тега\n\n> **Скоуп:** `group_tags:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор тега\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca group-tags list-users 9111 \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/group-tags/list-users\nПолная справка: `pachca api GET /group_tags/{id}/users --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/group_tags/{id}/users","description":"Список сотрудников тега\n\nМетод для получения актуального списка сотрудников тега.","parameters":[{"name":"id","in":"path","description":"Идентификатор тега","required":true,"schema":{"type":"integer","format":"int32","example":9111},"example":9111},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"group_tags:read","scopeRoles":["owner","admin"]},"paginated":true},"docs":"# Список сотрудников тега\n\n**Метод**: `GET`\n\n**Путь**: `/group_tags/{id}/users`\n\n> **Скоуп:** `group_tags:read`\n\nМетод для получения актуального списка сотрудников тега.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор тега\n\n### Query параметры\n\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/group_tags/9111/users?limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/messages","summary":"Новое сообщение","scope":"messages:create","plan":null,"auth":true,"paginated":false,"command":"pachca messages create","docLink":"https://dev.pachca.com/api/messages/create","describe":"# POST /messages — Новое сообщение\n\n> **Скоуп:** `messages:create`\n\n## Тело запроса\n\n- `message: object` (required) — Собранный объект параметров создаваемого сообщения\n - `entity_type: string` — Тип сущности\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности\n - `content: string` (required) — Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).\n - `files: array of object` — Прикрепляемые файлы\n - `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url)\n - `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением)\n - `file_type: string` (required) — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `size: integer, int32` (required) — Размер файла в байтах, отображаемый пользователю\n - `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image)\n - `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image)\n - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.\n - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.\n - `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.\n - `parent_message_id: integer, int32` — Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.\n - `display_avatar_url: string` (max length: 255) — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.\n - `display_name: string` (max length: 255) — Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.\n - `skip_invite_mentions: boolean` (default: false) — Пропуск добавления упоминаемых пользователей в тред. Работает только при отправке сообщения в тред.\n- `link_preview: boolean` (default: false) — Отображение предпросмотра первой найденной ссылки в тексте сообщения\n\n## Эквивалентная команда\n\n```bash\npachca messages create \\\n --entity-id=334 \\\n --content=\"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\" \\\n --files='[{\"key\":\"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\",\"name\":\"logo.png\",\"file_type\":\"image\",\"size\":12345,\"width\":800,\"height\":600,\"duration_ms\":5400,\"waveform\":\"4,8,12,20,16,10,6,3\"}]' \\\n --buttons='[[{\"text\":\"Подробнее\",\"url\":\"https://example.com/details\"},{\"text\":\"Отлично!\",\"data\":\"awesome\"}]]' \\\n --parent-message-id=194270 \\\n --display-avatar-url=https://example.com/avatar.png \\\n --display-name=\"Бот Поддержки\" \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/create\nПолная справка: `pachca api POST /messages --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/messages","description":"Новое сообщение\n\nМетод для отправки сообщения в беседу или канал, личного сообщения пользователю или комментария в тред.\n\nПри использовании `entity_type: \"discussion\"` (или просто без указания `entity_type`) допускается отправка любого `chat_id` в поле `entity_id`. То есть, сообщение можно отправить зная только идентификатор чата. При этом, вы имеете возможность отправить сообщение в тред по его идентификатору или личное сообщение по идентификатору пользователя.\n\nДля отправки личного сообщения пользователю создавать чат не требуется. Достаточно указать `entity_type: \"user\"` и идентификатор пользователя. Чат будет создан автоматически, если между вами ещё не было переписки. Между двумя пользователями может быть только один личный чат.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание сообщения","required":["message"],"properties":{"message":{"type":"object","description":"Собранный объект параметров создаваемого сообщения","required":["entity_id","content"],"properties":{"entity_type":{"description":"Тип сущности","default":"discussion","example":"discussion","allOf":[{"type":"string","description":"Тип сущности для сообщений","enum":["discussion","thread","user"],"x-enum-descriptions":{"discussion":"Беседа или канал","thread":"Тред","user":"Пользователь"},"$ref":"#/components/schemas/MessageEntityType"}]},"entity_id":{"type":"integer","format":"int32","description":"Идентификатор сущности","example":334},"content":{"type":"string","description":"Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).","example":"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"},"files":{"type":"array","description":"Прикрепляемые файлы","items":{"type":"object","required":["key","name","file_type","size"],"properties":{"key":{"type":"string","description":"Путь к файлу, полученный в результате [загрузки файла](POST /direct_url)","example":"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png"},"name":{"type":"string","description":"Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением)","example":"logo.png"},"file_type":{"description":"Тип файла","example":"image","allOf":[{"type":"string","description":"Тип файла","enum":["file","image","audio","voice"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение","audio":"Аудиофайл","voice":"Голосовое сообщение"},"$ref":"#/components/schemas/FileType"}]},"size":{"type":"integer","format":"int32","description":"Размер файла в байтах, отображаемый пользователю","example":12345},"width":{"type":"integer","format":"int32","description":"Ширина изображения в px (используется в случае, если file_type указан как image)","example":800},"height":{"type":"integer","format":"int32","description":"Высота изображения в px (используется в случае, если file_type указан как image)","example":600},"duration_ms":{"type":"integer","format":"int32","description":"Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.","example":5400,"minimum":1},"waveform":{"type":"string","description":"Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.","example":"4,8,12,20,16,10,6,3","maxLength":256}}}},"buttons":{"type":"array","description":"Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.","example":[[{"text":"Подробнее","url":"https://example.com/details"},{"text":"Отлично!","data":"awesome"}]],"items":{"type":"array","items":{"type":"object","description":"Кнопка","required":["text"],"properties":{"text":{"type":"string","description":"Текст, отображаемый на кнопке","example":"Подробнее","maxLength":255},"url":{"type":"string","description":"Ссылка, которая будет открыта по нажатию кнопки","example":"https://example.com/details"},"data":{"type":"string","description":"Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки","example":"awesome","maxLength":255}},"$ref":"#/components/schemas/Button"}}},"parent_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.","example":194270},"display_avatar_url":{"type":"string","description":"Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","example":"https://example.com/avatar.png","maxLength":255},"display_name":{"type":"string","description":"Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","example":"Бот Поддержки","maxLength":255},"skip_invite_mentions":{"type":"boolean","description":"Пропуск добавления упоминаемых пользователей в тред. Работает только при отправке сообщения в тред.","default":false,"example":false}}},"link_preview":{"type":"boolean","description":"Отображение предпросмотра первой найденной ссылки в тексте сообщения","default":false,"example":false}},"$ref":"#/components/schemas/MessageCreateRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Сообщение","required":["id","entity_type","entity_id","chat_id","root_chat_id","content","user_id","created_at","url","files","voice_content","buttons","thread","forwarding","parent_message_id","display_avatar_url","display_name","changed_at","deleted_at"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор сообщения","example":194275},"entity_type":{"description":"Тип сущности, к которой относится сообщение","example":"discussion","allOf":[{"type":"string","description":"Тип сущности для сообщений","enum":["discussion","thread","user"],"x-enum-descriptions":{"discussion":"Беседа или канал","thread":"Тред","user":"Пользователь"},"$ref":"#/components/schemas/MessageEntityType"}]},"entity_id":{"type":"integer","format":"int32","description":"Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя)","example":334},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится сообщение","example":334},"root_chat_id":{"type":"integer","format":"int32","description":"Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.","example":334},"content":{"type":"string","description":"Текст сообщения","example":"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего сообщение","example":12},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:57:23.000Z"},"url":{"type":"string","description":"Прямая ссылка на сообщение","example":"https://app.pachca.com/chats/334?message=194275"},"files":{"type":"array","description":"Прикрепленные файлы","items":{"type":"object","description":"Файл","required":["id","key","name","file_type","url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор файла","example":3560},"key":{"type":"string","description":"Путь к файлу","example":"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"},"name":{"type":"string","description":"Название файла с расширением","example":"congrat.png"},"file_type":{"description":"Тип файла","example":"image","allOf":[{"type":"string","description":"Тип файла","enum":["file","image","audio","voice"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение","audio":"Аудиофайл","voice":"Голосовое сообщение"},"$ref":"#/components/schemas/FileType"}]},"url":{"type":"string","description":"Прямая ссылка на скачивание файла","example":"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8"},"width":{"type":"integer","format":"int32","description":"Ширина изображения в пикселях","example":1920,"nullable":true},"height":{"type":"integer","format":"int32","description":"Высота изображения в пикселях","example":1080,"nullable":true}},"$ref":"#/components/schemas/File"}},"voice_content":{"type":"object","description":"Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.","nullable":true,"allOf":[{"type":"object","description":"Данные голосового сообщения","required":["duration_ms","waveform","transcript"],"properties":{"duration_ms":{"type":"integer","format":"int32","description":"Длительность голосового сообщения в миллисекундах","example":5400},"waveform":{"type":"string","description":"Форма волны (амплитуды) для визуализации голосового сообщения","example":"4,8,12,20,16,10,6,3"},"transcript":{"type":"string","description":"Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.","example":"Привет, посмотри пожалуйста последний отчёт","nullable":true}},"$ref":"#/components/schemas/VoiceContent"}]},"buttons":{"type":"array","description":"Массив строк, каждая из которых представлена массивом кнопок","nullable":true,"items":{"type":"array","items":{"type":"object","description":"Кнопка","required":["text"],"properties":{"text":{"type":"string","description":"Текст, отображаемый на кнопке","example":"Подробнее","maxLength":255},"url":{"type":"string","description":"Ссылка, которая будет открыта по нажатию кнопки","example":"https://example.com/details"},"data":{"type":"string","description":"Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки","example":"awesome","maxLength":255}},"$ref":"#/components/schemas/Button"}}},"thread":{"type":"object","description":"Тред сообщения","required":["id","chat_id"],"nullable":true,"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор треда","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда","example":2637266155}}},"forwarding":{"type":"object","description":"Информация о пересланном сообщении","nullable":true,"allOf":[{"type":"object","description":"Информация о пересланном сообщении","required":["original_message_id","original_chat_id","author_id","original_created_at","original_thread_id","original_thread_message_id","original_thread_parent_chat_id"],"properties":{"original_message_id":{"type":"integer","format":"int32","description":"Идентификатор оригинального сообщения","example":194275},"original_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится оригинальное сообщение","example":334},"author_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего оригинальное сообщение","example":12},"original_created_at":{"type":"string","format":"date-time","description":"Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-15T10:30:00.000Z"},"original_thread_id":{"type":"integer","format":"int32","description":"Идентификатор треда, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_parent_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true}},"$ref":"#/components/schemas/Forwarding"}]},"parent_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому написан ответ","example":null,"nullable":true},"display_avatar_url":{"type":"string","description":"Ссылка на аватарку отправителя сообщения","example":null,"nullable":true},"display_name":{"type":"string","description":"Полное имя отправителя сообщения","example":null,"nullable":true},"changed_at":{"type":"string","format":"date-time","description":"Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T16:10:00.000Z","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":null,"nullable":true}},"$ref":"#/components/schemas/Message"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"messages:create","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Новое сообщение\n\n**Метод**: `POST`\n\n**Путь**: `/messages`\n\n> **Скоуп:** `messages:create`\n\nМетод для отправки сообщения в беседу или канал, личного сообщения пользователю или комментария в тред.\n\nПри использовании `entity_type: \"discussion\"` (или просто без указания `entity_type`) допускается отправка любого `chat_id` в поле `entity_id`. То есть, сообщение можно отправить зная только идентификатор чата. При этом, вы имеете возможность отправить сообщение в тред по его идентификатору или личное сообщение по идентификатору пользователя.\n\nДля отправки личного сообщения пользователю создавать чат не требуется. Достаточно указать `entity_type: \"user\"` и идентификатор пользователя. Чат будет создан автоматически, если между вами ещё не было переписки. Между двумя пользователями может быть только один личный чат.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `message: object` (required) — Собранный объект параметров создаваемого сообщения\n - `entity_type: string` — Тип сущности\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности. Пример: `334`\n - `content: string` (required) — Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).. Пример: `\"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\"`\n - `files: array of object` — Прикрепляемые файлы\n - `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url). Пример: `\"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\"`\n - `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением). Пример: `\"logo.png\"`\n - `file_type: string` (required) — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `size: integer, int32` (required) — Размер файла в байтах, отображаемый пользователю. Пример: `12345`\n - `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image). Пример: `800`\n - `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image). Пример: `600`\n - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `5400`\n - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `\"4,8,12,20,16,10,6,3\"`\n - `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.. Пример: `[[{\"text\":\"Подробнее\",\"url\":\"https://example.com/details\"},{\"text\":\"Отлично!\",\"data\":\"awesome\"}]]`\n - `parent_message_id: integer, int32` — Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.. Пример: `194270`\n - `display_avatar_url: string` (max length: 255) — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `\"https://example.com/avatar.png\"`\n - `display_name: string` (max length: 255) — Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `\"Бот Поддержки\"`\n - `skip_invite_mentions: boolean` (default: false) — Пропуск добавления упоминаемых пользователей в тред. Работает только при отправке сообщения в тред.. Пример: `false`\n- `link_preview: boolean` (default: false) — Отображение предпросмотра первой найденной ссылки в тексте сообщения. Пример: `false`\n\n### Пример\n\n```json\n{\n \"message\": {\n \"entity_id\": 334,\n \"content\": \"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\",\n \"files\": [\n {\n \"key\": \"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\",\n \"name\": \"logo.png\",\n \"file_type\": \"image\",\n \"size\": 12345,\n \"width\": 800,\n \"height\": 600,\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\"\n }\n ],\n \"buttons\": [\n [\n {\n \"text\": \"Подробнее\",\n \"url\": \"https://example.com/details\"\n },\n {\n \"text\": \"Отлично!\",\n \"data\": \"awesome\"\n }\n ]\n ],\n \"parent_message_id\": 194270,\n \"display_avatar_url\": \"https://example.com/avatar.png\",\n \"display_name\": \"Бот Поддержки\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/messages\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"message\": {\n \"entity_id\": 334,\n \"content\": \"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\",\n \"files\": [\n {\n \"key\": \"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\",\n \"name\": \"logo.png\",\n \"file_type\": \"image\",\n \"size\": 12345,\n \"width\": 800,\n \"height\": 600,\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\"\n }\n ],\n \"buttons\": [\n [\n {\n \"text\": \"Подробнее\",\n \"url\": \"https://example.com/details\"\n },\n {\n \"text\": \"Отлично!\",\n \"data\": \"awesome\"\n }\n ]\n ],\n \"parent_message_id\": 194270,\n \"display_avatar_url\": \"https://example.com/avatar.png\",\n \"display_name\": \"Бот Поддержки\"\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Сообщение\n - `id: integer, int32` (required) — Идентификатор сообщения. Пример: `194275`\n - `entity_type: string` (required) — Тип сущности, к которой относится сообщение\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя). Пример: `334`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором находится сообщение. Пример: `334`\n - `root_chat_id: integer, int32` (required) — Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.. Пример: `334`\n - `content: string` (required) — Текст сообщения. Пример: `\"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\"`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, создавшего сообщение. Пример: `12`\n - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:57:23.000Z\"`\n - `url: string` (required) — Прямая ссылка на сообщение. Пример: `\"https://app.pachca.com/chats/334?message=194275\"`\n - `files: array of object` (required) — Прикрепленные файлы\n - `id: integer, int32` (required) — Идентификатор файла. Пример: `3560`\n - `key: string` (required) — Путь к файлу. Пример: `\"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\"`\n - `name: string` (required) — Название файла с расширением. Пример: `\"congrat.png\"`\n - `file_type: string` (required) — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `url: string` (required) — Прямая ссылка на скачивание файла. Пример: `\"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\"`\n - `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`\n - `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`\n - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.\n - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`\n - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `\"4,8,12,20,16,10,6,3\"`\n - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `\"Привет, посмотри пожалуйста последний отчёт\"`\n - `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок\n - `thread: object` (required) — Тред сообщения\n - `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда. Пример: `2637266155`\n - `forwarding: object` (required) — Информация о пересланном сообщении\n - `original_message_id: integer, int32` (required) — Идентификатор оригинального сообщения. Пример: `194275`\n - `original_chat_id: integer, int32` (required) — Идентификатор чата, в котором находится оригинальное сообщение. Пример: `334`\n - `author_id: integer, int32` (required) — Идентификатор пользователя, создавшего оригинальное сообщение. Пример: `12`\n - `original_created_at: date-time` (required) — Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-15T10:30:00.000Z\"`\n - `original_thread_id: integer, int32` (required) — Идентификатор треда, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_message_id: integer, int32` (required) — Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_parent_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `parent_message_id: integer, int32` (required) — Идентификатор сообщения, к которому написан ответ. Пример: `null`\n - `display_avatar_url: string` (required) — Ссылка на аватарку отправителя сообщения. Пример: `null`\n - `display_name: string` (required) — Полное имя отправителя сообщения. Пример: `null`\n - `changed_at: date-time` (required) — Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T16:10:00.000Z\"`\n - `deleted_at: date-time` (required) — Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `null`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 194275,\n \"entity_type\": \"discussion\",\n \"entity_id\": 334,\n \"chat_id\": 334,\n \"root_chat_id\": 334,\n \"content\": \"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\",\n \"user_id\": 12,\n \"created_at\": \"2021-08-28T15:57:23.000Z\",\n \"url\": \"https://app.pachca.com/chats/334?message=194275\",\n \"files\": [\n {\n \"id\": 3560,\n \"key\": \"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\",\n \"name\": \"congrat.png\",\n \"file_type\": \"image\",\n \"url\": \"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\",\n \"width\": 1920,\n \"height\": 1080\n }\n ],\n \"voice_content\": {\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\",\n \"transcript\": \"Привет, посмотри пожалуйста последний отчёт\"\n },\n \"buttons\": [\n [\n {\n \"text\": \"Подробнее\",\n \"url\": \"https://example.com/details\",\n \"data\": \"awesome\"\n }\n ]\n ],\n \"thread\": {\n \"id\": 265142,\n \"chat_id\": 2637266155\n },\n \"forwarding\": {\n \"original_message_id\": 194275,\n \"original_chat_id\": 334,\n \"author_id\": 12,\n \"original_created_at\": \"2025-01-15T10:30:00.000Z\",\n \"original_thread_id\": null,\n \"original_thread_message_id\": null,\n \"original_thread_parent_chat_id\": null\n },\n \"parent_message_id\": null,\n \"display_avatar_url\": null,\n \"display_name\": null,\n \"changed_at\": \"2021-08-28T16:10:00.000Z\",\n \"deleted_at\": null\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/messages","summary":"Список сообщений чата","scope":"messages:read","plan":null,"auth":true,"paginated":true,"command":"pachca messages list","docLink":"https://dev.pachca.com/api/messages/list","describe":"# GET /messages — Список сообщений чата\n\n> **Скоуп:** `messages:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `chat_id` — query (обязательный): Идентификатор чата (беседа, канал, диалог или чат треда)\n- `sort` — query: Поле сортировки\n- `order` — query: Направление сортировки\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca messages list \\\n --chat-id=198 \\\n --sort=id \\\n --order=desc \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/list\nПолная справка: `pachca api GET /messages --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/messages","description":"Список сообщений чата\n\nМетод для получения списка сообщений бесед, каналов, тредов и личных сообщений.\n\nДля получения сообщений вам необходимо знать `chat_id` требуемой беседы, канала, треда или диалога, и указать его в `URL` запроса. Сообщения будут возвращены в порядке убывания даты отправки (то есть, сначала будут идти последние сообщения чата). Для получения более ранних сообщений чата доступны параметры `limit` и `cursor`.","parameters":[{"name":"chat_id","in":"query","description":"Идентификатор чата (беседа, канал, диалог или чат треда)","required":true,"schema":{"type":"integer","format":"int32","example":198},"example":198,"explode":false},{"name":"sort","in":"query","description":"Поле сортировки","required":false,"schema":{"default":"id","allOf":[{"type":"string","description":"Поле сортировки сообщений","enum":["id"],"x-enum-descriptions":{"id":"По идентификатору сообщения"},"$ref":"#/components/schemas/MessageSortField"}]},"example":"id","explode":false},{"name":"order","in":"query","description":"Направление сортировки","required":false,"schema":{"default":"desc","allOf":[{"type":"string","description":"Порядок сортировки","enum":["asc","desc"],"x-enum-descriptions":{"asc":"По возрастанию","desc":"По убыванию"},"$ref":"#/components/schemas/SortOrder"}]},"example":"desc","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Сообщение","required":["id","entity_type","entity_id","chat_id","root_chat_id","content","user_id","created_at","url","files","voice_content","buttons","thread","forwarding","parent_message_id","display_avatar_url","display_name","changed_at","deleted_at"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор сообщения","example":194275},"entity_type":{"description":"Тип сущности, к которой относится сообщение","example":"discussion","allOf":[{"type":"string","description":"Тип сущности для сообщений","enum":["discussion","thread","user"],"x-enum-descriptions":{"discussion":"Беседа или канал","thread":"Тред","user":"Пользователь"},"$ref":"#/components/schemas/MessageEntityType"}]},"entity_id":{"type":"integer","format":"int32","description":"Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя)","example":334},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится сообщение","example":334},"root_chat_id":{"type":"integer","format":"int32","description":"Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.","example":334},"content":{"type":"string","description":"Текст сообщения","example":"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего сообщение","example":12},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:57:23.000Z"},"url":{"type":"string","description":"Прямая ссылка на сообщение","example":"https://app.pachca.com/chats/334?message=194275"},"files":{"type":"array","description":"Прикрепленные файлы","items":{"type":"object","description":"Файл","required":["id","key","name","file_type","url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор файла","example":3560},"key":{"type":"string","description":"Путь к файлу","example":"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"},"name":{"type":"string","description":"Название файла с расширением","example":"congrat.png"},"file_type":{"description":"Тип файла","example":"image","allOf":[{"type":"string","description":"Тип файла","enum":["file","image","audio","voice"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение","audio":"Аудиофайл","voice":"Голосовое сообщение"},"$ref":"#/components/schemas/FileType"}]},"url":{"type":"string","description":"Прямая ссылка на скачивание файла","example":"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8"},"width":{"type":"integer","format":"int32","description":"Ширина изображения в пикселях","example":1920,"nullable":true},"height":{"type":"integer","format":"int32","description":"Высота изображения в пикселях","example":1080,"nullable":true}},"$ref":"#/components/schemas/File"}},"voice_content":{"type":"object","description":"Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.","nullable":true,"allOf":[{"type":"object","description":"Данные голосового сообщения","required":["duration_ms","waveform","transcript"],"properties":{"duration_ms":{"type":"integer","format":"int32","description":"Длительность голосового сообщения в миллисекундах","example":5400},"waveform":{"type":"string","description":"Форма волны (амплитуды) для визуализации голосового сообщения","example":"4,8,12,20,16,10,6,3"},"transcript":{"type":"string","description":"Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.","example":"Привет, посмотри пожалуйста последний отчёт","nullable":true}},"$ref":"#/components/schemas/VoiceContent"}]},"buttons":{"type":"array","description":"Массив строк, каждая из которых представлена массивом кнопок","nullable":true,"items":{"type":"array","items":{"type":"object","description":"Кнопка","required":["text"],"properties":{"text":{"type":"string","description":"Текст, отображаемый на кнопке","example":"Подробнее","maxLength":255},"url":{"type":"string","description":"Ссылка, которая будет открыта по нажатию кнопки","example":"https://example.com/details"},"data":{"type":"string","description":"Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки","example":"awesome","maxLength":255}},"$ref":"#/components/schemas/Button"}}},"thread":{"type":"object","description":"Тред сообщения","required":["id","chat_id"],"nullable":true,"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор треда","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда","example":2637266155}}},"forwarding":{"type":"object","description":"Информация о пересланном сообщении","nullable":true,"allOf":[{"type":"object","description":"Информация о пересланном сообщении","required":["original_message_id","original_chat_id","author_id","original_created_at","original_thread_id","original_thread_message_id","original_thread_parent_chat_id"],"properties":{"original_message_id":{"type":"integer","format":"int32","description":"Идентификатор оригинального сообщения","example":194275},"original_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится оригинальное сообщение","example":334},"author_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего оригинальное сообщение","example":12},"original_created_at":{"type":"string","format":"date-time","description":"Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-15T10:30:00.000Z"},"original_thread_id":{"type":"integer","format":"int32","description":"Идентификатор треда, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_parent_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true}},"$ref":"#/components/schemas/Forwarding"}]},"parent_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому написан ответ","example":null,"nullable":true},"display_avatar_url":{"type":"string","description":"Ссылка на аватарку отправителя сообщения","example":null,"nullable":true},"display_name":{"type":"string","description":"Полное имя отправителя сообщения","example":null,"nullable":true},"changed_at":{"type":"string","format":"date-time","description":"Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T16:10:00.000Z","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":null,"nullable":true}},"$ref":"#/components/schemas/Message"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"messages:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список сообщений чата\n\n**Метод**: `GET`\n\n**Путь**: `/messages`\n\n> **Скоуп:** `messages:read`\n\nМетод для получения списка сообщений бесед, каналов, тредов и личных сообщений.\n\nДля получения сообщений вам необходимо знать `chat_id` требуемой беседы, канала, треда или диалога, и указать его в `URL` запроса. Сообщения будут возвращены в порядке убывания даты отправки (то есть, сначала будут идти последние сообщения чата). Для получения более ранних сообщений чата доступны параметры `limit` и `cursor`.\n\n## Параметры\n\n### Query параметры\n\n- `chat_id: integer, int32` (required) — Идентификатор чата (беседа, канал, диалог или чат треда)\n- `sort: string` (default: id) — Поле сортировки\n- `order: string` (default: desc) — Направление сортировки\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/messages?chat_id=198&sort=id&order=desc&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор сообщения. Пример: `194275`\n - `entity_type: string` (required) — Тип сущности, к которой относится сообщение\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя). Пример: `334`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором находится сообщение. Пример: `334`\n - `root_chat_id: integer, int32` (required) — Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.. Пример: `334`\n - `content: string` (required) — Текст сообщения. Пример: `\"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\"`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, создавшего сообщение. Пример: `12`\n - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:57:23.000Z\"`\n - `url: string` (required) — Прямая ссылка на сообщение. Пример: `\"https://app.pachca.com/chats/334?message=194275\"`\n - `files: array of object` (required) — Прикрепленные файлы\n - `id: integer, int32` (required) — Идентификатор файла. Пример: `3560`\n - `key: string` (required) — Путь к файлу. Пример: `\"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\"`\n - `name: string` (required) — Название файла с расширением. Пример: `\"congrat.png\"`\n - `file_type: string` (required) — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `url: string` (required) — Прямая ссылка на скачивание файла. Пример: `\"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\"`\n - `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`\n - `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`\n - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.\n - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`\n - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `\"4,8,12,20,16,10,6,3\"`\n - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `\"Привет, посмотри пожалуйста последний отчёт\"`\n - `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок\n - `thread: object` (required) — Тред сообщения\n - `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда. Пример: `2637266155`\n - `forwarding: object` (required) — Информация о пересланном сообщении\n - `original_message_id: integer, int32` (required) — Идентификатор оригинального сообщения. Пример: `194275`\n - `original_chat_id: integer, int32` (required) — Идентификатор чата, в котором находится оригинальное сообщение. Пример: `334`\n - `author_id: integer, int32` (required) — Идентификатор пользователя, создавшего оригинальное сообщение. Пример: `12`\n - `original_created_at: date-time` (required) — Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-15T10:30:00.000Z\"`\n - `original_thread_id: integer, int32` (required) — Идентификатор треда, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_message_id: integer, int32` (required) — Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_parent_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `parent_message_id: integer, int32` (required) — Идентификатор сообщения, к которому написан ответ. Пример: `null`\n - `display_avatar_url: string` (required) — Ссылка на аватарку отправителя сообщения. Пример: `null`\n - `display_name: string` (required) — Полное имя отправителя сообщения. Пример: `null`\n - `changed_at: date-time` (required) — Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T16:10:00.000Z\"`\n - `deleted_at: date-time` (required) — Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `null`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 194275,\n \"entity_type\": \"discussion\",\n \"entity_id\": 334,\n \"chat_id\": 334,\n \"root_chat_id\": 334,\n \"content\": \"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\",\n \"user_id\": 12,\n \"created_at\": \"2021-08-28T15:57:23.000Z\",\n \"url\": \"https://app.pachca.com/chats/334?message=194275\",\n \"files\": [\n {\n \"id\": 3560,\n \"key\": \"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\",\n \"name\": \"congrat.png\",\n \"file_type\": \"image\",\n \"url\": \"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\",\n \"width\": 1920,\n \"height\": 1080\n }\n ],\n \"voice_content\": {\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\",\n \"transcript\": \"Привет, посмотри пожалуйста последний отчёт\"\n },\n \"buttons\": [\n [\n {\n \"text\": null\n }\n ]\n ],\n \"thread\": {\n \"id\": 265142,\n \"chat_id\": 2637266155\n },\n \"forwarding\": {\n \"original_message_id\": 194275,\n \"original_chat_id\": 334,\n \"author_id\": 12,\n \"original_created_at\": \"2025-01-15T10:30:00.000Z\",\n \"original_thread_id\": null,\n \"original_thread_message_id\": null,\n \"original_thread_parent_chat_id\": null\n },\n \"parent_message_id\": null,\n \"display_avatar_url\": null,\n \"display_name\": null,\n \"changed_at\": \"2021-08-28T16:10:00.000Z\",\n \"deleted_at\": null\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/messages/{id}","summary":"Информация о сообщении","scope":"messages:read","plan":null,"auth":true,"paginated":false,"command":"pachca messages get","docLink":"https://dev.pachca.com/api/messages/get","describe":"# GET /messages/{id} — Информация о сообщении\n\n> **Скоуп:** `messages:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Эквивалентная команда\n\n```bash\npachca messages get 194275 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/get\nПолная справка: `pachca api GET /messages/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/messages/{id}","description":"Информация о сообщении\n\nМетод для получения информации о сообщении.\n\nДля получения сообщения вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Сообщение","required":["id","entity_type","entity_id","chat_id","root_chat_id","content","user_id","created_at","url","files","voice_content","buttons","thread","forwarding","parent_message_id","display_avatar_url","display_name","changed_at","deleted_at"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор сообщения","example":194275},"entity_type":{"description":"Тип сущности, к которой относится сообщение","example":"discussion","allOf":[{"type":"string","description":"Тип сущности для сообщений","enum":["discussion","thread","user"],"x-enum-descriptions":{"discussion":"Беседа или канал","thread":"Тред","user":"Пользователь"},"$ref":"#/components/schemas/MessageEntityType"}]},"entity_id":{"type":"integer","format":"int32","description":"Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя)","example":334},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится сообщение","example":334},"root_chat_id":{"type":"integer","format":"int32","description":"Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.","example":334},"content":{"type":"string","description":"Текст сообщения","example":"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего сообщение","example":12},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:57:23.000Z"},"url":{"type":"string","description":"Прямая ссылка на сообщение","example":"https://app.pachca.com/chats/334?message=194275"},"files":{"type":"array","description":"Прикрепленные файлы","items":{"type":"object","description":"Файл","required":["id","key","name","file_type","url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор файла","example":3560},"key":{"type":"string","description":"Путь к файлу","example":"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"},"name":{"type":"string","description":"Название файла с расширением","example":"congrat.png"},"file_type":{"description":"Тип файла","example":"image","allOf":[{"type":"string","description":"Тип файла","enum":["file","image","audio","voice"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение","audio":"Аудиофайл","voice":"Голосовое сообщение"},"$ref":"#/components/schemas/FileType"}]},"url":{"type":"string","description":"Прямая ссылка на скачивание файла","example":"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8"},"width":{"type":"integer","format":"int32","description":"Ширина изображения в пикселях","example":1920,"nullable":true},"height":{"type":"integer","format":"int32","description":"Высота изображения в пикселях","example":1080,"nullable":true}},"$ref":"#/components/schemas/File"}},"voice_content":{"type":"object","description":"Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.","nullable":true,"allOf":[{"type":"object","description":"Данные голосового сообщения","required":["duration_ms","waveform","transcript"],"properties":{"duration_ms":{"type":"integer","format":"int32","description":"Длительность голосового сообщения в миллисекундах","example":5400},"waveform":{"type":"string","description":"Форма волны (амплитуды) для визуализации голосового сообщения","example":"4,8,12,20,16,10,6,3"},"transcript":{"type":"string","description":"Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.","example":"Привет, посмотри пожалуйста последний отчёт","nullable":true}},"$ref":"#/components/schemas/VoiceContent"}]},"buttons":{"type":"array","description":"Массив строк, каждая из которых представлена массивом кнопок","nullable":true,"items":{"type":"array","items":{"type":"object","description":"Кнопка","required":["text"],"properties":{"text":{"type":"string","description":"Текст, отображаемый на кнопке","example":"Подробнее","maxLength":255},"url":{"type":"string","description":"Ссылка, которая будет открыта по нажатию кнопки","example":"https://example.com/details"},"data":{"type":"string","description":"Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки","example":"awesome","maxLength":255}},"$ref":"#/components/schemas/Button"}}},"thread":{"type":"object","description":"Тред сообщения","required":["id","chat_id"],"nullable":true,"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор треда","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда","example":2637266155}}},"forwarding":{"type":"object","description":"Информация о пересланном сообщении","nullable":true,"allOf":[{"type":"object","description":"Информация о пересланном сообщении","required":["original_message_id","original_chat_id","author_id","original_created_at","original_thread_id","original_thread_message_id","original_thread_parent_chat_id"],"properties":{"original_message_id":{"type":"integer","format":"int32","description":"Идентификатор оригинального сообщения","example":194275},"original_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится оригинальное сообщение","example":334},"author_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего оригинальное сообщение","example":12},"original_created_at":{"type":"string","format":"date-time","description":"Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-15T10:30:00.000Z"},"original_thread_id":{"type":"integer","format":"int32","description":"Идентификатор треда, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_parent_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true}},"$ref":"#/components/schemas/Forwarding"}]},"parent_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому написан ответ","example":null,"nullable":true},"display_avatar_url":{"type":"string","description":"Ссылка на аватарку отправителя сообщения","example":null,"nullable":true},"display_name":{"type":"string","description":"Полное имя отправителя сообщения","example":null,"nullable":true},"changed_at":{"type":"string","format":"date-time","description":"Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T16:10:00.000Z","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":null,"nullable":true}},"$ref":"#/components/schemas/Message"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"messages:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Информация о сообщении\n\n**Метод**: `GET`\n\n**Путь**: `/messages/{id}`\n\n> **Скоуп:** `messages:read`\n\nМетод для получения информации о сообщении.\n\nДля получения сообщения вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/messages/194275\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Сообщение\n - `id: integer, int32` (required) — Идентификатор сообщения. Пример: `194275`\n - `entity_type: string` (required) — Тип сущности, к которой относится сообщение\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя). Пример: `334`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором находится сообщение. Пример: `334`\n - `root_chat_id: integer, int32` (required) — Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.. Пример: `334`\n - `content: string` (required) — Текст сообщения. Пример: `\"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\"`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, создавшего сообщение. Пример: `12`\n - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:57:23.000Z\"`\n - `url: string` (required) — Прямая ссылка на сообщение. Пример: `\"https://app.pachca.com/chats/334?message=194275\"`\n - `files: array of object` (required) — Прикрепленные файлы\n - `id: integer, int32` (required) — Идентификатор файла. Пример: `3560`\n - `key: string` (required) — Путь к файлу. Пример: `\"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\"`\n - `name: string` (required) — Название файла с расширением. Пример: `\"congrat.png\"`\n - `file_type: string` (required) — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `url: string` (required) — Прямая ссылка на скачивание файла. Пример: `\"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\"`\n - `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`\n - `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`\n - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.\n - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`\n - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `\"4,8,12,20,16,10,6,3\"`\n - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `\"Привет, посмотри пожалуйста последний отчёт\"`\n - `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок\n - `thread: object` (required) — Тред сообщения\n - `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда. Пример: `2637266155`\n - `forwarding: object` (required) — Информация о пересланном сообщении\n - `original_message_id: integer, int32` (required) — Идентификатор оригинального сообщения. Пример: `194275`\n - `original_chat_id: integer, int32` (required) — Идентификатор чата, в котором находится оригинальное сообщение. Пример: `334`\n - `author_id: integer, int32` (required) — Идентификатор пользователя, создавшего оригинальное сообщение. Пример: `12`\n - `original_created_at: date-time` (required) — Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-15T10:30:00.000Z\"`\n - `original_thread_id: integer, int32` (required) — Идентификатор треда, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_message_id: integer, int32` (required) — Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_parent_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `parent_message_id: integer, int32` (required) — Идентификатор сообщения, к которому написан ответ. Пример: `null`\n - `display_avatar_url: string` (required) — Ссылка на аватарку отправителя сообщения. Пример: `null`\n - `display_name: string` (required) — Полное имя отправителя сообщения. Пример: `null`\n - `changed_at: date-time` (required) — Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T16:10:00.000Z\"`\n - `deleted_at: date-time` (required) — Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `null`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 194275,\n \"entity_type\": \"discussion\",\n \"entity_id\": 334,\n \"chat_id\": 334,\n \"root_chat_id\": 334,\n \"content\": \"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\",\n \"user_id\": 12,\n \"created_at\": \"2021-08-28T15:57:23.000Z\",\n \"url\": \"https://app.pachca.com/chats/334?message=194275\",\n \"files\": [\n {\n \"id\": 3560,\n \"key\": \"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\",\n \"name\": \"congrat.png\",\n \"file_type\": \"image\",\n \"url\": \"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\",\n \"width\": 1920,\n \"height\": 1080\n }\n ],\n \"voice_content\": {\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\",\n \"transcript\": \"Привет, посмотри пожалуйста последний отчёт\"\n },\n \"buttons\": [\n [\n {\n \"text\": \"Подробнее\",\n \"url\": \"https://example.com/details\",\n \"data\": \"awesome\"\n }\n ]\n ],\n \"thread\": {\n \"id\": 265142,\n \"chat_id\": 2637266155\n },\n \"forwarding\": {\n \"original_message_id\": 194275,\n \"original_chat_id\": 334,\n \"author_id\": 12,\n \"original_created_at\": \"2025-01-15T10:30:00.000Z\",\n \"original_thread_id\": null,\n \"original_thread_message_id\": null,\n \"original_thread_parent_chat_id\": null\n },\n \"parent_message_id\": null,\n \"display_avatar_url\": null,\n \"display_name\": null,\n \"changed_at\": \"2021-08-28T16:10:00.000Z\",\n \"deleted_at\": null\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/messages/{id}","summary":"Редактирование сообщения","scope":"messages:update","plan":null,"auth":true,"paginated":false,"command":"pachca messages update","docLink":"https://dev.pachca.com/api/messages/update","describe":"# PUT /messages/{id} — Редактирование сообщения\n\n> **Скоуп:** `messages:update`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Тело запроса\n\n- `message: object` (required) — Собранный объект параметров редактируемого сообщения\n - `content: string` — Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).\n - `files: array of object` — Прикрепляемые файлы\n - `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url)\n - `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением)\n - `file_type: string` — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `size: integer, int32` — Размер файла в байтах, отображаемый пользователю\n - `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image)\n - `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image)\n - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.\n - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.\n - `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке. Для удаления кнопок пришлите пустой массив.\n - `display_avatar_url: string` — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.\n - `display_name: string` — Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.\n\n## Эквивалентная команда\n\n```bash\npachca messages update 194275 \\\n --content=\"Вот попробуйте написать правильно это с первого раза: Будущий, Полощи, Прийти, Грейпфрут, Мозаика, Бюллетень, Дуршлаг, Винегрет.\" \\\n --files='[{\"key\":\"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\",\"name\":\"logo.png\",\"file_type\":\"image\",\"size\":12345,\"width\":800,\"height\":600,\"duration_ms\":5400,\"waveform\":\"4,8,12,20,16,10,6,3\"}]' \\\n --buttons='[[{\"text\":\"Подробнее\",\"url\":\"https://example.com/details\"}]]' \\\n --display-avatar-url=https://example.com/avatar.png \\\n --display-name=\"Бот Поддержки\" \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/update\nПолная справка: `pachca api PUT /messages/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/messages/{id}","description":"Редактирование сообщения\n\nМетод для редактирования сообщения или комментария.\n\nДля редактирования сообщения вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры сообщения указываются в теле запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на редактирование сообщения","required":["message"],"properties":{"message":{"type":"object","description":"Собранный объект параметров редактируемого сообщения","properties":{"content":{"type":"string","description":"Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).","example":"Вот попробуйте написать правильно это с первого раза: Будущий, Полощи, Прийти, Грейпфрут, Мозаика, Бюллетень, Дуршлаг, Винегрет."},"files":{"type":"array","description":"Прикрепляемые файлы","items":{"type":"object","required":["key","name"],"properties":{"key":{"type":"string","description":"Путь к файлу, полученный в результате [загрузки файла](POST /direct_url)","example":"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png"},"name":{"type":"string","description":"Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением)","example":"logo.png"},"file_type":{"description":"Тип файла","default":"file","example":"image","allOf":[{"type":"string","description":"Тип файла","enum":["file","image","audio","voice"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение","audio":"Аудиофайл","voice":"Голосовое сообщение"},"$ref":"#/components/schemas/FileType"}]},"size":{"type":"integer","format":"int32","description":"Размер файла в байтах, отображаемый пользователю","example":12345},"width":{"type":"integer","format":"int32","description":"Ширина изображения в px (используется в случае, если file_type указан как image)","example":800},"height":{"type":"integer","format":"int32","description":"Высота изображения в px (используется в случае, если file_type указан как image)","example":600},"duration_ms":{"type":"integer","format":"int32","description":"Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.","example":5400,"minimum":1},"waveform":{"type":"string","description":"Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.","example":"4,8,12,20,16,10,6,3","maxLength":256}}}},"buttons":{"type":"array","description":"Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке. Для удаления кнопок пришлите пустой массив.","example":[[{"text":"Подробнее","url":"https://example.com/details"}]],"items":{"type":"array","items":{"type":"object","description":"Кнопка","required":["text"],"properties":{"text":{"type":"string","description":"Текст, отображаемый на кнопке","example":"Подробнее","maxLength":255},"url":{"type":"string","description":"Ссылка, которая будет открыта по нажатию кнопки","example":"https://example.com/details"},"data":{"type":"string","description":"Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки","example":"awesome","maxLength":255}},"$ref":"#/components/schemas/Button"}}},"display_avatar_url":{"type":"string","description":"Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","example":"https://example.com/avatar.png"},"display_name":{"type":"string","description":"Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.","example":"Бот Поддержки"}}}},"$ref":"#/components/schemas/MessageUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Сообщение","required":["id","entity_type","entity_id","chat_id","root_chat_id","content","user_id","created_at","url","files","voice_content","buttons","thread","forwarding","parent_message_id","display_avatar_url","display_name","changed_at","deleted_at"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор сообщения","example":194275},"entity_type":{"description":"Тип сущности, к которой относится сообщение","example":"discussion","allOf":[{"type":"string","description":"Тип сущности для сообщений","enum":["discussion","thread","user"],"x-enum-descriptions":{"discussion":"Беседа или канал","thread":"Тред","user":"Пользователь"},"$ref":"#/components/schemas/MessageEntityType"}]},"entity_id":{"type":"integer","format":"int32","description":"Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя)","example":334},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится сообщение","example":334},"root_chat_id":{"type":"integer","format":"int32","description":"Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.","example":334},"content":{"type":"string","description":"Текст сообщения","example":"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего сообщение","example":12},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:57:23.000Z"},"url":{"type":"string","description":"Прямая ссылка на сообщение","example":"https://app.pachca.com/chats/334?message=194275"},"files":{"type":"array","description":"Прикрепленные файлы","items":{"type":"object","description":"Файл","required":["id","key","name","file_type","url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор файла","example":3560},"key":{"type":"string","description":"Путь к файлу","example":"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"},"name":{"type":"string","description":"Название файла с расширением","example":"congrat.png"},"file_type":{"description":"Тип файла","example":"image","allOf":[{"type":"string","description":"Тип файла","enum":["file","image","audio","voice"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение","audio":"Аудиофайл","voice":"Голосовое сообщение"},"$ref":"#/components/schemas/FileType"}]},"url":{"type":"string","description":"Прямая ссылка на скачивание файла","example":"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8"},"width":{"type":"integer","format":"int32","description":"Ширина изображения в пикселях","example":1920,"nullable":true},"height":{"type":"integer","format":"int32","description":"Высота изображения в пикселях","example":1080,"nullable":true}},"$ref":"#/components/schemas/File"}},"voice_content":{"type":"object","description":"Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.","nullable":true,"allOf":[{"type":"object","description":"Данные голосового сообщения","required":["duration_ms","waveform","transcript"],"properties":{"duration_ms":{"type":"integer","format":"int32","description":"Длительность голосового сообщения в миллисекундах","example":5400},"waveform":{"type":"string","description":"Форма волны (амплитуды) для визуализации голосового сообщения","example":"4,8,12,20,16,10,6,3"},"transcript":{"type":"string","description":"Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.","example":"Привет, посмотри пожалуйста последний отчёт","nullable":true}},"$ref":"#/components/schemas/VoiceContent"}]},"buttons":{"type":"array","description":"Массив строк, каждая из которых представлена массивом кнопок","nullable":true,"items":{"type":"array","items":{"type":"object","description":"Кнопка","required":["text"],"properties":{"text":{"type":"string","description":"Текст, отображаемый на кнопке","example":"Подробнее","maxLength":255},"url":{"type":"string","description":"Ссылка, которая будет открыта по нажатию кнопки","example":"https://example.com/details"},"data":{"type":"string","description":"Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки","example":"awesome","maxLength":255}},"$ref":"#/components/schemas/Button"}}},"thread":{"type":"object","description":"Тред сообщения","required":["id","chat_id"],"nullable":true,"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор треда","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда","example":2637266155}}},"forwarding":{"type":"object","description":"Информация о пересланном сообщении","nullable":true,"allOf":[{"type":"object","description":"Информация о пересланном сообщении","required":["original_message_id","original_chat_id","author_id","original_created_at","original_thread_id","original_thread_message_id","original_thread_parent_chat_id"],"properties":{"original_message_id":{"type":"integer","format":"int32","description":"Идентификатор оригинального сообщения","example":194275},"original_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится оригинальное сообщение","example":334},"author_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего оригинальное сообщение","example":12},"original_created_at":{"type":"string","format":"date-time","description":"Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-15T10:30:00.000Z"},"original_thread_id":{"type":"integer","format":"int32","description":"Идентификатор треда, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_parent_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true}},"$ref":"#/components/schemas/Forwarding"}]},"parent_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому написан ответ","example":null,"nullable":true},"display_avatar_url":{"type":"string","description":"Ссылка на аватарку отправителя сообщения","example":null,"nullable":true},"display_name":{"type":"string","description":"Полное имя отправителя сообщения","example":null,"nullable":true},"changed_at":{"type":"string","format":"date-time","description":"Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T16:10:00.000Z","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":null,"nullable":true}},"$ref":"#/components/schemas/Message"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"messages:update","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Редактирование сообщения\n\n**Метод**: `PUT`\n\n**Путь**: `/messages/{id}`\n\n> **Скоуп:** `messages:update`\n\nМетод для редактирования сообщения или комментария.\n\nДля редактирования сообщения вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры сообщения указываются в теле запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `message: object` (required) — Собранный объект параметров редактируемого сообщения\n - `content: string` — Текст сообщения. Поддерживает упоминания: `@nickname` или `<@user_id>` (будет автоматически преобразовано в `@nickname`).. Пример: `\"Вот попробуйте написать правильно это с первого раза: Будущий, Полощи, Прийти, Грейпфрут, Мозаика, Бюллетень, Дуршлаг, Винегрет.\"`\n - `files: array of object` — Прикрепляемые файлы\n - `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url). Пример: `\"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\"`\n - `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением). Пример: `\"logo.png\"`\n - `file_type: string` — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `size: integer, int32` — Размер файла в байтах, отображаемый пользователю. Пример: `12345`\n - `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image). Пример: `800`\n - `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image). Пример: `600`\n - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `5400`\n - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `\"4,8,12,20,16,10,6,3\"`\n - `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке. Для удаления кнопок пришлите пустой массив.. Пример: `[[{\"text\":\"Подробнее\",\"url\":\"https://example.com/details\"}]]`\n - `display_avatar_url: string` — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `\"https://example.com/avatar.png\"`\n - `display_name: string` — Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `\"Бот Поддержки\"`\n\n### Пример\n\n```json\n{\n \"message\": {\n \"content\": \"Вот попробуйте написать правильно это с первого раза: Будущий, Полощи, Прийти, Грейпфрут, Мозаика, Бюллетень, Дуршлаг, Винегрет.\",\n \"files\": [\n {\n \"key\": \"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\",\n \"name\": \"logo.png\",\n \"file_type\": \"image\",\n \"size\": 12345,\n \"width\": 800,\n \"height\": 600,\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\"\n }\n ],\n \"buttons\": [\n [\n {\n \"text\": \"Подробнее\",\n \"url\": \"https://example.com/details\"\n }\n ]\n ],\n \"display_avatar_url\": \"https://example.com/avatar.png\",\n \"display_name\": \"Бот Поддержки\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/messages/194275\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"message\": {\n \"content\": \"Вот попробуйте написать правильно это с первого раза: Будущий, Полощи, Прийти, Грейпфрут, Мозаика, Бюллетень, Дуршлаг, Винегрет.\",\n \"files\": [\n {\n \"key\": \"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png\",\n \"name\": \"logo.png\",\n \"file_type\": \"image\",\n \"size\": 12345,\n \"width\": 800,\n \"height\": 600,\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\"\n }\n ],\n \"buttons\": [\n [\n {\n \"text\": \"Подробнее\",\n \"url\": \"https://example.com/details\"\n }\n ]\n ],\n \"display_avatar_url\": \"https://example.com/avatar.png\",\n \"display_name\": \"Бот Поддержки\"\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Сообщение\n - `id: integer, int32` (required) — Идентификатор сообщения. Пример: `194275`\n - `entity_type: string` (required) — Тип сущности, к которой относится сообщение\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя). Пример: `334`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором находится сообщение. Пример: `334`\n - `root_chat_id: integer, int32` (required) — Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.. Пример: `334`\n - `content: string` (required) — Текст сообщения. Пример: `\"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\"`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, создавшего сообщение. Пример: `12`\n - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:57:23.000Z\"`\n - `url: string` (required) — Прямая ссылка на сообщение. Пример: `\"https://app.pachca.com/chats/334?message=194275\"`\n - `files: array of object` (required) — Прикрепленные файлы\n - `id: integer, int32` (required) — Идентификатор файла. Пример: `3560`\n - `key: string` (required) — Путь к файлу. Пример: `\"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\"`\n - `name: string` (required) — Название файла с расширением. Пример: `\"congrat.png\"`\n - `file_type: string` (required) — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `url: string` (required) — Прямая ссылка на скачивание файла. Пример: `\"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\"`\n - `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`\n - `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`\n - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.\n - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`\n - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `\"4,8,12,20,16,10,6,3\"`\n - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `\"Привет, посмотри пожалуйста последний отчёт\"`\n - `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок\n - `thread: object` (required) — Тред сообщения\n - `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда. Пример: `2637266155`\n - `forwarding: object` (required) — Информация о пересланном сообщении\n - `original_message_id: integer, int32` (required) — Идентификатор оригинального сообщения. Пример: `194275`\n - `original_chat_id: integer, int32` (required) — Идентификатор чата, в котором находится оригинальное сообщение. Пример: `334`\n - `author_id: integer, int32` (required) — Идентификатор пользователя, создавшего оригинальное сообщение. Пример: `12`\n - `original_created_at: date-time` (required) — Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-15T10:30:00.000Z\"`\n - `original_thread_id: integer, int32` (required) — Идентификатор треда, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_message_id: integer, int32` (required) — Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_parent_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `parent_message_id: integer, int32` (required) — Идентификатор сообщения, к которому написан ответ. Пример: `null`\n - `display_avatar_url: string` (required) — Ссылка на аватарку отправителя сообщения. Пример: `null`\n - `display_name: string` (required) — Полное имя отправителя сообщения. Пример: `null`\n - `changed_at: date-time` (required) — Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T16:10:00.000Z\"`\n - `deleted_at: date-time` (required) — Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `null`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 194275,\n \"entity_type\": \"discussion\",\n \"entity_id\": 334,\n \"chat_id\": 334,\n \"root_chat_id\": 334,\n \"content\": \"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\",\n \"user_id\": 12,\n \"created_at\": \"2021-08-28T15:57:23.000Z\",\n \"url\": \"https://app.pachca.com/chats/334?message=194275\",\n \"files\": [\n {\n \"id\": 3560,\n \"key\": \"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\",\n \"name\": \"congrat.png\",\n \"file_type\": \"image\",\n \"url\": \"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\",\n \"width\": 1920,\n \"height\": 1080\n }\n ],\n \"voice_content\": {\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\",\n \"transcript\": \"Привет, посмотри пожалуйста последний отчёт\"\n },\n \"buttons\": [\n [\n {\n \"text\": \"Подробнее\",\n \"url\": \"https://example.com/details\",\n \"data\": \"awesome\"\n }\n ]\n ],\n \"thread\": {\n \"id\": 265142,\n \"chat_id\": 2637266155\n },\n \"forwarding\": {\n \"original_message_id\": 194275,\n \"original_chat_id\": 334,\n \"author_id\": 12,\n \"original_created_at\": \"2025-01-15T10:30:00.000Z\",\n \"original_thread_id\": null,\n \"original_thread_message_id\": null,\n \"original_thread_parent_chat_id\": null\n },\n \"parent_message_id\": null,\n \"display_avatar_url\": null,\n \"display_name\": null,\n \"changed_at\": \"2021-08-28T16:10:00.000Z\",\n \"deleted_at\": null\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/messages/{id}","summary":"Удаление сообщения","scope":"messages:delete","plan":null,"auth":true,"paginated":false,"command":"pachca messages delete","docLink":"https://dev.pachca.com/api/messages/delete","describe":"# DELETE /messages/{id} — Удаление сообщения\n\n> **Скоуп:** `messages:delete`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Эквивалентная команда\n\n```bash\npachca messages delete 194275 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/delete\nПолная справка: `pachca api DELETE /messages/{id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/messages/{id}","description":"Удаление сообщения\n\nМетод для удаления сообщения.\n\nУдаление сообщения доступно отправителю, админам и редакторам в чате. В личных сообщениях оба пользователя являются редакторами. Ограничений по давности отправки сообщения нет.\n\nДля удаления сообщения вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"messages:delete","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Удаление сообщения\n\n**Метод**: `DELETE`\n\n**Путь**: `/messages/{id}`\n\n> **Скоуп:** `messages:delete`\n\nМетод для удаления сообщения.\n\nУдаление сообщения доступно отправителю, админам и редакторам в чате. В личных сообщениях оба пользователя являются редакторами. Ограничений по давности отправки сообщения нет.\n\nДля удаления сообщения вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/messages/194275\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/messages/{id}/link_previews","summary":"Unfurl (разворачивание ссылок)","scope":"link_previews:write","plan":null,"auth":true,"paginated":false,"command":"pachca messages unfurl","docLink":"https://dev.pachca.com/api/messages/unfurl","describe":"# POST /messages/{id}/link_previews — Unfurl (разворачивание ссылок)\n\n> **Скоуп:** `link_previews:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Тело запроса\n\n- `link_previews: Record` (required) — `JSON` карта предпросмотров ссылок, где каждый ключ — `URL`, который был получен в исходящем вебхуке о новом сообщении.\n **Структура значений Record:**\n - `title: string` (required) — Заголовок\n - `description: string` (required) — Описание\n - `image_url: string` — Публичная ссылка на изображение (если вы хотите загрузить файл изображения в Пачку, то используйте параметр image)\n - `image: object` — Изображение\n - `key: string` (required) — Путь к изображению, полученный в результате [загрузки файла](POST /direct_url)\n - `name: string` (required) — Название изображения (рекомендуется писать вместе с расширением)\n - `size: integer, int32` — Размер изображения в байтах\n\n## Эквивалентная команда\n\n```bash\npachca messages unfurl 194275 \\\n --link-previews='{\"https://website.com/articles/123\":{\"title\":\"Статья: Отправка файлов\",\"description\":\"Пример отправки файлов на удаленный сервер\",\"image_url\":\"https://website.com/img/landing.png\",\"image\":{\"key\":\"attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/${filename}\",\"name\":\"files-to-server.jpg\",\"size\":695604}}}' \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/unfurl\nПолная справка: `pachca api POST /messages/{id}/link_previews --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/messages/{id}/link_previews","description":"Unfurl (разворачивание ссылок)\n\nМетод для создания предпросмотров ссылок в сообщениях. Доступен только для Unfurl-ботов.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на разворачивание ссылок","required":["link_previews"],"properties":{"link_previews":{"type":"object","description":"`JSON` карта предпросмотров ссылок, где каждый ключ — `URL`, который был получен в исходящем вебхуке о новом сообщении.","x-record-key-example":"https://website.com/articles/123","additionalProperties":{"type":"object","description":"Данные для предпросмотра ссылки","required":["title","description"],"properties":{"title":{"type":"string","description":"Заголовок","example":"Статья: Отправка файлов"},"description":{"type":"string","description":"Описание","example":"Пример отправки файлов на удаленный сервер"},"image_url":{"type":"string","description":"Публичная ссылка на изображение (если вы хотите загрузить файл изображения в Пачку, то используйте параметр image)","example":"https://website.com/img/landing.png"},"image":{"type":"object","description":"Изображение","required":["key","name"],"properties":{"key":{"type":"string","description":"Путь к изображению, полученный в результате [загрузки файла](POST /direct_url)","example":"attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/${filename}"},"name":{"type":"string","description":"Название изображения (рекомендуется писать вместе с расширением)","example":"files-to-server.jpg"},"size":{"type":"integer","format":"int32","description":"Размер изображения в байтах","example":695604}}}},"$ref":"#/components/schemas/LinkPreview"}}},"$ref":"#/components/schemas/LinkPreviewsRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"link_previews:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Unfurl (разворачивание ссылок)\n\n**Метод**: `POST`\n\n**Путь**: `/messages/{id}/link_previews`\n\n> **Скоуп:** `link_previews:write`\n\nМетод для создания предпросмотров ссылок в сообщениях. Доступен только для Unfurl-ботов.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `link_previews: Record` (required) — `JSON` карта предпросмотров ссылок, где каждый ключ — `URL`, который был получен в исходящем вебхуке о новом сообщении.\n **Структура значений Record:**\n - `title: string` (required) — Заголовок. Пример: `\"Статья: Отправка файлов\"`\n - `description: string` (required) — Описание. Пример: `\"Пример отправки файлов на удаленный сервер\"`\n - `image_url: string` — Публичная ссылка на изображение (если вы хотите загрузить файл изображения в Пачку, то используйте параметр image). Пример: `\"https://website.com/img/landing.png\"`\n - `image: object` — Изображение\n - `key: string` (required) — Путь к изображению, полученный в результате [загрузки файла](POST /direct_url). Пример: `\"attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/${filename}\"`\n - `name: string` (required) — Название изображения (рекомендуется писать вместе с расширением). Пример: `\"files-to-server.jpg\"`\n - `size: integer, int32` — Размер изображения в байтах. Пример: `695604`\n\n### Пример\n\n```json\n{\n \"link_previews\": {\n \"https://website.com/articles/123\": {\n \"title\": \"Статья: Отправка файлов\",\n \"description\": \"Пример отправки файлов на удаленный сервер\",\n \"image_url\": \"https://website.com/img/landing.png\",\n \"image\": {\n \"key\": \"attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/${filename}\",\n \"name\": \"files-to-server.jpg\",\n \"size\": 695604\n }\n }\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/messages/194275/link_previews\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"link_previews\": {\n \"https://website.com/articles/123\": {\n \"title\": \"Статья: Отправка файлов\",\n \"description\": \"Пример отправки файлов на удаленный сервер\",\n \"image_url\": \"https://website.com/img/landing.png\",\n \"image\": {\n \"key\": \"attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/${filename}\",\n \"name\": \"files-to-server.jpg\",\n \"size\": 695604\n }\n }\n }\n}'\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/messages/{id}/pin","summary":"Закрепление сообщения","scope":"pins:write","plan":null,"auth":true,"paginated":false,"command":"pachca messages pin","docLink":"https://dev.pachca.com/api/messages/pin","describe":"# POST /messages/{id}/pin — Закрепление сообщения\n\n> **Скоуп:** `pins:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Эквивалентная команда\n\n```bash\npachca messages pin 194275 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/pin\nПолная справка: `pachca api POST /messages/{id}/pin --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/messages/{id}/pin","description":"Закрепление сообщения\n\nМетод для закрепления сообщения в чате.\n\nДля закрепления сообщения вам необходимо знать `id` сообщения и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error"}},"requirements":{"scope":"pins:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Закрепление сообщения\n\n**Метод**: `POST`\n\n**Путь**: `/messages/{id}/pin`\n\n> **Скоуп:** `pins:write`\n\nМетод для закрепления сообщения в чате.\n\nДля закрепления сообщения вам необходимо знать `id` сообщения и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Пример запроса\n\n```bash\ncurl -X POST \"https://api.pachca.com/api/shared/v1/messages/194275/pin\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n"},{"method":"DELETE","path":"/messages/{id}/pin","summary":"Открепление сообщения","scope":"pins:write","plan":null,"auth":true,"paginated":false,"command":"pachca messages unpin","docLink":"https://dev.pachca.com/api/messages/unpin","describe":"# DELETE /messages/{id}/pin — Открепление сообщения\n\n> **Скоуп:** `pins:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Эквивалентная команда\n\n```bash\npachca messages unpin 194275 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/messages/unpin\nПолная справка: `pachca api DELETE /messages/{id}/pin --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/messages/{id}/pin","description":"Открепление сообщения\n\nМетод для открепления сообщения из чата.\n\nДля открепления сообщения вам необходимо знать `id` сообщения и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"pins:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Открепление сообщения\n\n**Метод**: `DELETE`\n\n**Путь**: `/messages/{id}/pin`\n\n> **Скоуп:** `pins:write`\n\nМетод для открепления сообщения из чата.\n\nДля открепления сообщения вам необходимо знать `id` сообщения и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/messages/194275/pin\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/messages/{id}/reactions","summary":"Добавление реакции","scope":"reactions:write","plan":null,"auth":true,"paginated":false,"command":"pachca reactions add","docLink":"https://dev.pachca.com/api/reactions/add","describe":"# POST /messages/{id}/reactions — Добавление реакции\n\n> **Скоуп:** `reactions:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Тело запроса\n\n- `code: string` (required) — Emoji символ реакции\n- `name: string` — Текстовое имя эмодзи (используется для кастомных эмодзи)\n\n## Эквивалентная команда\n\n```bash\npachca reactions add 7231942 \\\n --code=👍 \\\n --name=:+1: \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/reactions/add\nПолная справка: `pachca api POST /messages/{id}/reactions --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/messages/{id}/reactions","description":"Добавление реакции\n\nМетод для добавления реакции на сообщение.\n\nДля добавления реакции вам необходимо знать `id` сообщения и указать его в `URL` запроса. Реакции на сообщения отправляются в виде символов `Emoji`. Если пользователь уже ставил реакцию - повторно она установлена не будет. Для удаления реакции надо воспользоваться методом [Удаление реакции](DELETE /messages/{id}/reactions).\n\n**Лимиты реакций:**\n\n- Каждый пользователь может установить не более **20 уникальных** реакций\n- Сообщение может иметь не более **30 уникальных** реакций\n- Общее количество реакций на сообщение не может превышать **1000**","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":7231942},"example":7231942}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на добавление реакции","required":["code"],"properties":{"code":{"type":"string","description":"Emoji символ реакции","example":"👍"},"name":{"type":"string","description":"Текстовое имя эмодзи (используется для кастомных эмодзи)","example":":+1:"}},"$ref":"#/components/schemas/ReactionRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Реакция на сообщение","required":["user_id","created_at","code","name"],"properties":{"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, который добавил реакцию","example":12},"created_at":{"type":"string","format":"date-time","description":"Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-01-20T10:30:00.000Z"},"code":{"type":"string","description":"Emoji символ реакции","example":"👍"},"name":{"type":"string","description":"Название emoji реакции","example":":+1::skin-tone-1:","nullable":true}},"$ref":"#/components/schemas/Reaction"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"reactions:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Добавление реакции\n\n**Метод**: `POST`\n\n**Путь**: `/messages/{id}/reactions`\n\n> **Скоуп:** `reactions:write`\n\nМетод для добавления реакции на сообщение.\n\nДля добавления реакции вам необходимо знать `id` сообщения и указать его в `URL` запроса. Реакции на сообщения отправляются в виде символов `Emoji`. Если пользователь уже ставил реакцию - повторно она установлена не будет. Для удаления реакции надо воспользоваться методом [Удаление реакции](DELETE /messages/{id}/reactions).\n\n**Лимиты реакций:**\n\n- Каждый пользователь может установить не более **20 уникальных** реакций\n- Сообщение может иметь не более **30 уникальных** реакций\n- Общее количество реакций на сообщение не может превышать **1000**\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `code: string` (required) — Emoji символ реакции. Пример: `\"👍\"`\n- `name: string` — Текстовое имя эмодзи (используется для кастомных эмодзи). Пример: `\":+1:\"`\n\n### Пример\n\n```json\n{\n \"code\": \"👍\",\n \"name\": \":+1:\"\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/messages/7231942/reactions\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"code\": \"👍\",\n \"name\": \":+1:\"\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил реакцию. Пример: `12`\n- `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-01-20T10:30:00.000Z\"`\n- `code: string` (required) — Emoji символ реакции. Пример: `\"👍\"`\n- `name: string` (required) — Название emoji реакции. Пример: `\":+1::skin-tone-1:\"`\n\n**Пример ответа:**\n\n```json\n{\n \"user_id\": 12,\n \"created_at\": \"2024-01-20T10:30:00.000Z\",\n \"code\": \"👍\",\n \"name\": \":+1::skin-tone-1:\"\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/messages/{id}/reactions","summary":"Удаление реакции","scope":"reactions:write","plan":null,"auth":true,"paginated":false,"command":"pachca reactions remove","docLink":"https://dev.pachca.com/api/reactions/remove","describe":"# DELETE /messages/{id}/reactions — Удаление реакции\n\n> **Скоуп:** `reactions:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n- `code` — query (обязательный): Emoji символ реакции\n- `name` — query: Текстовое имя эмодзи (используется для кастомных эмодзи)\n\n## Эквивалентная команда\n\n```bash\npachca reactions remove 7231942 \\\n --code=👍 \\\n --name=:+1: \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/reactions/remove\nПолная справка: `pachca api DELETE /messages/{id}/reactions --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/messages/{id}/reactions","description":"Удаление реакции\n\nМетод для удаления реакции на сообщение.\n\nДля удаления реакции вам необходимо знать `id` сообщения и указать его в `URL` запроса. Реакции на сообщения хранятся в виде символов `Emoji`.\n\nУдалять можно только те реакции, которые были поставлены авторизованным пользователем.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":7231942},"example":7231942},{"name":"code","in":"query","description":"Emoji символ реакции","required":true,"schema":{"type":"string","example":"👍"},"example":"👍","explode":false},{"name":"name","in":"query","description":"Текстовое имя эмодзи (используется для кастомных эмодзи)","required":false,"schema":{"type":"string","example":":+1:"},"example":":+1:","explode":false}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"reactions:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Удаление реакции\n\n**Метод**: `DELETE`\n\n**Путь**: `/messages/{id}/reactions`\n\n> **Скоуп:** `reactions:write`\n\nМетод для удаления реакции на сообщение.\n\nДля удаления реакции вам необходимо знать `id` сообщения и указать его в `URL` запроса. Реакции на сообщения хранятся в виде символов `Emoji`.\n\nУдалять можно только те реакции, которые были поставлены авторизованным пользователем.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n### Query параметры\n\n- `code: string` (required) — Emoji символ реакции\n- `name: string` — Текстовое имя эмодзи (используется для кастомных эмодзи)\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/messages/7231942/reactions?code=👍&name=:+1:\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/messages/{id}/reactions","summary":"Список реакций","scope":"reactions:read","plan":null,"auth":true,"paginated":true,"command":"pachca reactions list","docLink":"https://dev.pachca.com/api/reactions/list","describe":"# GET /messages/{id}/reactions — Список реакций\n\n> **Скоуп:** `reactions:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca reactions list 194275 \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/reactions/list\nПолная справка: `pachca api GET /messages/{id}/reactions --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/messages/{id}/reactions","description":"Список реакций\n\nМетод для получения актуального списка реакций на сообщение.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Реакция на сообщение","required":["user_id","created_at","code","name"],"properties":{"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, который добавил реакцию","example":12},"created_at":{"type":"string","format":"date-time","description":"Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-01-20T10:30:00.000Z"},"code":{"type":"string","description":"Emoji символ реакции","example":"👍"},"name":{"type":"string","description":"Название emoji реакции","example":":+1::skin-tone-1:","nullable":true}},"$ref":"#/components/schemas/Reaction"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"reactions:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список реакций\n\n**Метод**: `GET`\n\n**Путь**: `/messages/{id}/reactions`\n\n> **Скоуп:** `reactions:read`\n\nМетод для получения актуального списка реакций на сообщение.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n### Query параметры\n\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/messages/194275/reactions?limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил реакцию. Пример: `12`\n - `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-01-20T10:30:00.000Z\"`\n - `code: string` (required) — Emoji символ реакции. Пример: `\"👍\"`\n - `name: string` (required) — Название emoji реакции. Пример: `\":+1::skin-tone-1:\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"user_id\": 12,\n \"created_at\": \"2024-01-20T10:30:00.000Z\",\n \"code\": \"👍\",\n \"name\": \":+1::skin-tone-1:\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/messages/{id}/read_member_ids","summary":"Список прочитавших сообщение","scope":"messages:read","plan":null,"auth":true,"paginated":true,"command":"pachca read-member list-readers","docLink":"https://dev.pachca.com/api/read-member/list-readers","describe":"# GET /messages/{id}/read_member_ids — Список прочитавших сообщение\n\n> **Скоуп:** `messages:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca read-member list-readers 194275 \\\n --limit=300 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/read-member/list-readers\nПолная справка: `pachca api GET /messages/{id}/read_member_ids --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/messages/{id}/read_member_ids","description":"Список прочитавших сообщение\n\nМетод для получения актуального списка пользователей, прочитавших сообщение.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":194275},"example":194275},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":300,"example":300,"minimum":1,"maximum":300},"example":300,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"integer","format":"int32"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"messages:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список прочитавших сообщение\n\n**Метод**: `GET`\n\n**Путь**: `/messages/{id}/read_member_ids`\n\n> **Скоуп:** `messages:read`\n\nМетод для получения актуального списка пользователей, прочитавших сообщение.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n### Query параметры\n\n- `limit: integer, int32` (default: 300) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/messages/194275/read_member_ids?limit=300\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of integer` (required)\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n 100\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/messages/{id}/thread","summary":"Новый тред","scope":"threads:create","plan":null,"auth":true,"paginated":false,"command":"pachca threads add","docLink":"https://dev.pachca.com/api/threads/add","describe":"# POST /messages/{id}/thread — Новый тред\n\n> **Скоуп:** `threads:create`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор сообщения\n\n## Эквивалентная команда\n\n```bash\npachca threads add 154332686 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/threads/add\nПолная справка: `pachca api POST /messages/{id}/thread --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/messages/{id}/thread","description":"Новый тред\n\nМетод для создания нового треда к сообщению.\n\nЕсли у сообщения уже был создан тред, то в ответе на запрос вернётся информация об уже созданном ранее треде.","parameters":[{"name":"id","in":"path","description":"Идентификатор сообщения","required":true,"schema":{"type":"integer","format":"int32","example":154332686},"example":154332686}],"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Тред","required":["id","chat_id","message_id","message_chat_id","updated_at"],"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор созданного треда (используется для отправки [новых комментариев](POST /messages) в тред)","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда (используется для отправки [новых комментариев](POST /messages) в тред и получения [списка комментариев](GET /messages))","example":2637266155},"message_id":{"type":"integer","format":"int64","description":"Идентификатор сообщения, к которому был создан тред","example":154332686},"message_chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата сообщения","example":2637266154},"updated_at":{"type":"string","format":"date-time","description":"Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2023-02-01T19:20:47.204Z"}},"$ref":"#/components/schemas/Thread"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"threads:create","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Новый тред\n\n**Метод**: `POST`\n\n**Путь**: `/messages/{id}/thread`\n\n> **Скоуп:** `threads:create`\n\nМетод для создания нового треда к сообщению.\n\nЕсли у сообщения уже был создан тред, то в ответе на запрос вернётся информация об уже созданном ранее треде.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор сообщения\n\n\n## Пример запроса\n\n```bash\ncurl -X POST \"https://api.pachca.com/api/shared/v1/messages/154332686/thread\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Тред\n - `id: integer, int64` (required) — Идентификатор созданного треда (используется для отправки [новых комментариев](POST /messages) в тред). Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда (используется для отправки [новых комментариев](POST /messages) в тред и получения [списка комментариев](GET /messages)). Пример: `2637266155`\n - `message_id: integer, int64` (required) — Идентификатор сообщения, к которому был создан тред. Пример: `154332686`\n - `message_chat_id: integer, int64` (required) — Идентификатор чата сообщения. Пример: `2637266154`\n - `updated_at: date-time` (required) — Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2023-02-01T19:20:47.204Z\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 265142,\n \"chat_id\": 2637266155,\n \"message_id\": 154332686,\n \"message_chat_id\": 2637266154,\n \"updated_at\": \"2023-02-01T19:20:47.204Z\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/oauth/token/info","summary":"Информация о токене","scope":null,"plan":null,"auth":true,"paginated":false,"command":"pachca oauth token-info","docLink":"https://dev.pachca.com/api/oauth/token-info","describe":"# GET /oauth/token/info — Информация о токене\n\n## Эквивалентная команда\n\n```bash\npachca oauth token-info \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/oauth/token-info\nПолная справка: `pachca api GET /oauth/token/info --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/oauth/token/info","description":"Информация о токене\n\nМетод для получения информации о текущем OAuth токене, включая его скоупы, дату создания и последнего использования. Токен в ответе маскируется — видны только первые 8 и последние 4 символа.","parameters":[],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Токен доступа","required":["id","token","name","user_id","scopes","created_at","revoked_at","expires_in","last_used_at"],"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор токена","example":4827},"token":{"type":"string","description":"Маскированный токен (видны первые 8 и последние 4 символа)","example":"cH5kR9mN...x7Qp"},"name":{"type":"string","description":"Пользовательское имя токена","example":"Мой API токен","nullable":true},"user_id":{"type":"integer","format":"int64","description":"Идентификатор владельца токена","example":12},"scopes":{"type":"array","description":"Список скоупов токена","example":["messages:read","chats:read"],"items":{"type":"string","description":"Скоуп доступа OAuth токена","enum":["chats:read","chats:create","chats:update","chats:archive","chats:leave","chat_members:read","chat_members:write","chat_exports:read","chat_exports:write","messages:read","messages:create","messages:update","messages:delete","reactions:read","reactions:write","pins:write","threads:read","threads:create","link_previews:write","users:read","users:create","users:update","users:delete","group_tags:read","group_tags:write","bots:read","bots:write","bot_self:webhook:write","bot_self:write","profile:read","profile_status:read","profile_status:write","profile_avatar:write","user_status:read","user_status:write","user_avatar:write","custom_properties:read","audit_events:read","tasks:read","tasks:create","tasks:update","tasks:delete","files:read","files:write","uploads:write","views:write","webhooks:read","webhooks:write","webhooks:events:read","webhooks:events:delete","search:users","search:chats","search:messages"],"x-enum-descriptions":{"chats:read":"Просмотр чатов и списка чатов","chats:create":"Создание новых чатов","chats:update":"Изменение настроек чата","chats:archive":"Архивация и разархивация чатов","chats:leave":"Выход из чатов","chat_members:read":"Просмотр участников чата","chat_members:write":"Добавление, изменение и удаление участников чата","chat_exports:read":"Скачивание экспортов чата","chat_exports:write":"Создание экспортов чата","messages:read":"Просмотр сообщений в чатах","messages:create":"Отправка сообщений","messages:update":"Редактирование сообщений","messages:delete":"Удаление сообщений","reactions:read":"Просмотр реакций на сообщения","reactions:write":"Добавление и удаление реакций","pins:write":"Закрепление и открепление сообщений","threads:read":"Просмотр тредов (комментариев)","threads:create":"Создание тредов (комментариев)","link_previews:write":"Unfurl (разворачивание ссылок)","views:write":"Открытие форм (представлений)","users:read":"Просмотр информации о сотрудниках и списка сотрудников","users:create":"Создание новых сотрудников","users:update":"Редактирование данных сотрудника","users:delete":"Удаление сотрудников","group_tags:read":"Просмотр тегов","group_tags:write":"Создание, редактирование и удаление тегов","bots:read":"Просмотр ботов","bots:write":"Управление ботами","bot_self:webhook:write":"Самостоятельное управление адресом вебхука бота","bot_self:write":"Самостоятельное управление настройками бота","profile:read":"Просмотр информации о своем профиле","profile_status:read":"Просмотр статуса профиля","profile_status:write":"Изменение и удаление статуса профиля","profile_avatar:write":"Изменение и удаление аватара профиля","user_status:read":"Просмотр статуса сотрудника","user_status:write":"Изменение и удаление статуса сотрудника","user_avatar:write":"Изменение и удаление аватара сотрудника","custom_properties:read":"Просмотр дополнительных полей","audit_events:read":"Просмотр журнала аудита","tasks:read":"Просмотр задач","tasks:create":"Создание задач","tasks:update":"Изменение задачи","tasks:delete":"Удаление задачи","files:read":"Скачивание файлов","files:write":"Загрузка файлов","uploads:write":"Получение данных для загрузки файлов","webhooks:read":"Просмотр вебхуков","webhooks:write":"Создание и управление вебхуками","webhooks:events:read":"Просмотр лога вебхуков","webhooks:events:delete":"Удаление записи в логе вебхука","search:users":"Поиск сотрудников","search:chats":"Поиск чатов","search:messages":"Поиск сообщений"},"x-scope-roles":{"chats:read":["owner","admin","user","bot"],"chats:create":["owner","admin","user","bot"],"chats:update":["owner","admin","user","bot"],"chats:archive":["owner","admin","user","bot"],"chats:leave":["owner","admin","user","bot"],"chat_members:read":["owner","admin","user","bot"],"chat_members:write":["owner","admin","user","bot"],"chat_exports:read":["owner"],"chat_exports:write":["owner"],"messages:read":["owner","admin","user","bot"],"messages:create":["owner","admin","user","bot"],"messages:update":["owner","admin","user","bot"],"messages:delete":["owner","admin","user","bot"],"reactions:read":["owner","admin","user","bot"],"reactions:write":["owner","admin","user","bot"],"pins:write":["owner","admin","user","bot"],"threads:read":["owner","admin","user","bot"],"threads:create":["owner","admin","user","bot"],"link_previews:write":["owner","admin","user","bot"],"views:write":["owner","admin","user","bot"],"users:read":["owner","admin","user","bot"],"users:create":["owner","admin"],"users:update":["owner","admin"],"users:delete":["owner","admin"],"group_tags:read":["owner","admin"],"group_tags:write":["owner","admin"],"bots:read":["owner","admin","user"],"bots:write":["owner","admin","user"],"bot_self:webhook:write":["bot"],"bot_self:write":["bot"],"profile:read":["owner","admin","user","bot"],"profile_status:read":["owner","admin","user","bot"],"profile_status:write":["owner","admin","user","bot"],"profile_avatar:write":["owner","admin","user","bot"],"user_status:read":["owner","admin"],"user_status:write":["owner","admin"],"user_avatar:write":["owner","admin"],"custom_properties:read":["owner","admin","user","bot"],"audit_events:read":["owner"],"tasks:read":["owner","admin","user","bot"],"tasks:create":["owner","admin","user","bot"],"tasks:update":["owner","admin","user","bot"],"tasks:delete":["owner","admin","user","bot"],"files:read":["owner","admin","user","bot"],"files:write":["owner","admin","user","bot"],"uploads:write":["owner","admin","user","bot"],"webhooks:read":["owner","admin","user","bot"],"webhooks:write":["owner","admin","user","bot"],"webhooks:events:read":["owner","admin","user","bot"],"webhooks:events:delete":["owner","admin","user","bot"],"search:users":["owner","admin","user","bot"],"search:chats":["owner","admin","user","bot"],"search:messages":["owner","admin","user","bot"]},"$ref":"#/components/schemas/OAuthScope"}},"created_at":{"type":"string","format":"date-time","description":"Дата создания токена","example":"2025-01-15T10:30:00.000Z"},"revoked_at":{"type":"string","format":"date-time","description":"Дата отзыва токена","example":null,"nullable":true},"expires_in":{"type":"integer","format":"int32","description":"Время жизни токена в секундах","example":null,"nullable":true},"last_used_at":{"type":"string","format":"date-time","description":"Дата последнего использования токена","example":"2025-02-24T14:20:00.000Z","nullable":true}},"$ref":"#/components/schemas/AccessTokenInfo"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"paginated":false},"docs":"# Информация о токене\n\n**Метод**: `GET`\n\n**Путь**: `/oauth/token/info`\n\nМетод для получения информации о текущем OAuth токене, включая его скоупы, дату создания и последнего использования. Токен в ответе маскируется — видны только первые 8 и последние 4 символа.\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/oauth/token/info\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Токен доступа\n - `id: integer, int64` (required) — Идентификатор токена. Пример: `4827`\n - `token: string` (required) — Маскированный токен (видны первые 8 и последние 4 символа). Пример: `\"cH5kR9mN...x7Qp\"`\n - `name: string` (required) — Пользовательское имя токена. Пример: `\"Мой API токен\"`\n - `user_id: integer, int64` (required) — Идентификатор владельца токена. Пример: `12`\n - `scopes: array of string` (required) — Список скоупов токена. Пример: `[\"messages:read\",\"chats:read\"]`\n - `created_at: date-time` (required) — Дата создания токена. Пример: `\"2025-01-15T10:30:00.000Z\"`\n - `revoked_at: date-time` (required) — Дата отзыва токена. Пример: `null`\n - `expires_in: integer, int32` (required) — Время жизни токена в секундах. Пример: `null`\n - `last_used_at: date-time` (required) — Дата последнего использования токена. Пример: `\"2025-02-24T14:20:00.000Z\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 4827,\n \"token\": \"cH5kR9mN...x7Qp\",\n \"name\": \"Мой API токен\",\n \"user_id\": 12,\n \"scopes\": [\n \"messages:read\",\n \"chats:read\"\n ],\n \"created_at\": \"2025-01-15T10:30:00.000Z\",\n \"revoked_at\": null,\n \"expires_in\": null,\n \"last_used_at\": \"2025-02-24T14:20:00.000Z\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"GET","path":"/profile","summary":"Свой профиль","scope":"profile:read","plan":null,"auth":true,"paginated":false,"command":"pachca profile get","docLink":"https://dev.pachca.com/api/profile/get","describe":"# GET /profile — Свой профиль\n\n> **Скоуп:** `profile:read`\n\n## Эквивалентная команда\n\n```bash\npachca profile get \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/profile/get\nПолная справка: `pachca api GET /profile --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/profile","description":"Свой профиль\n\nМетод для получения информации о своем профиле.","parameters":[],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"profile:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Свой профиль\n\n**Метод**: `GET`\n\n**Путь**: `/profile`\n\n> **Скоуп:** `profile:read`\n\nМетод для получения информации о своем профиле.\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/profile\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Сотрудник\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"PUT","path":"/profile/avatar","summary":"Загрузка своего аватара","scope":"profile_avatar:write","plan":null,"auth":true,"paginated":false,"command":"pachca profile update-avatar","docLink":"https://dev.pachca.com/api/profile/update-avatar","describe":"# PUT /profile/avatar — Загрузка своего аватара\n\n> **Скоуп:** `profile_avatar:write`\n\n## Тело запроса\n\n- `image: binary` (required) — Файл изображения для аватара\n\n## Эквивалентная команда\n\n```bash\npachca profile update-avatar \\\n --file=./image.jpg \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/profile/update-avatar\nПолная справка: `pachca api PUT /profile/avatar --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/profile/avatar","description":"Загрузка своего аватара\n\nМетод для загрузки или обновления аватара своего профиля. Файл передается в формате `multipart/form-data`.","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["image"],"properties":{"image":{"type":"string","format":"binary","description":"Файл изображения для аватара"}}}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Данные аватара","required":["image_url"],"properties":{"image_url":{"type":"string","description":"URL аватара","example":"https://pachca-prod.s3.amazonaws.com/uploads/0001/0001/image.jpg"}},"$ref":"#/components/schemas/AvatarData"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"profile_avatar:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Загрузка своего аватара\n\n**Метод**: `PUT`\n\n**Путь**: `/profile/avatar`\n\n> **Скоуп:** `profile_avatar:write`\n\nМетод для загрузки или обновления аватара своего профиля. Файл передается в формате `multipart/form-data`.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `multipart/form-data`\n\n### Схема\n\n- `image: binary` (required) — Файл изображения для аватара\n\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/profile/avatar\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -F \"image=@filename.png\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Данные аватара\n - `image_url: string` (required) — URL аватара. Пример: `\"https://pachca-prod.s3.amazonaws.com/uploads/0001/0001/image.jpg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"image_url\": \"https://pachca-prod.s3.amazonaws.com/uploads/0001/0001/image.jpg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **ApiError**: Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)\n - `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/profile/avatar","summary":"Удаление своего аватара","scope":"profile_avatar:write","plan":null,"auth":true,"paginated":false,"command":"pachca profile delete-avatar","docLink":"https://dev.pachca.com/api/profile/delete-avatar","describe":"# DELETE /profile/avatar — Удаление своего аватара\n\n> **Скоуп:** `profile_avatar:write`\n\n## Эквивалентная команда\n\n```bash\npachca profile delete-avatar \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/profile/delete-avatar\nПолная справка: `pachca api DELETE /profile/avatar --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/profile/avatar","description":"Удаление своего аватара\n\nМетод для удаления аватара своего профиля.","parameters":[],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}}}}},"requirements":{"scope":"profile_avatar:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Удаление своего аватара\n\n**Метод**: `DELETE`\n\n**Путь**: `/profile/avatar`\n\n> **Скоуп:** `profile_avatar:write`\n\nМетод для удаления аватара своего профиля.\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/profile/avatar\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **ApiError**: Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)\n - `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/profile/status","summary":"Свой статус","scope":"profile_status:read","plan":null,"auth":true,"paginated":false,"command":"pachca profile get-status","docLink":"https://dev.pachca.com/api/profile/get-status","describe":"# GET /profile/status — Свой статус\n\n> **Скоуп:** `profile_status:read`\n\n## Эквивалентная команда\n\n```bash\npachca profile get-status \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/profile/get-status\nПолная справка: `pachca api GET /profile/status --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/profile/status","description":"Свой статус\n\nМетод для получения информации о своем статусе.","parameters":[],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"profile_status:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Свой статус\n\n**Метод**: `GET`\n\n**Путь**: `/profile/status`\n\n> **Скоуп:** `profile_status:read`\n\nМетод для получения информации о своем статусе.\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/profile/status\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Статус пользователя\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"PUT","path":"/profile/status","summary":"Новый свой статус","scope":"profile_status:write","plan":null,"auth":true,"paginated":false,"command":"pachca profile update-status","docLink":"https://dev.pachca.com/api/profile/update-status","describe":"# PUT /profile/status — Новый свой статус\n\n> **Скоуп:** `profile_status:write`\n\n## Тело запроса\n\n- `status: object` (required)\n - `emoji: string` (required) — Emoji символ статуса\n - `title: string` (required) — Текст статуса\n - `expires_at: date-time` — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ\n - `is_away: boolean` — Режим «Нет на месте»\n - `away_message: string` (max length: 1024) — Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях.\n\n## Эквивалентная команда\n\n```bash\npachca profile update-status \\\n --emoji=🎮 \\\n --title=\"Очень занят\" \\\n --expires-at=2024-04-08T10:00:00.000Z \\\n --is-away \\\n --away-message=\"Вернусь после 15:00\" \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/profile/update-status\nПолная справка: `pachca api PUT /profile/status --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/profile/status","description":"Новый свой статус\n\nМетод для установки себе нового статуса.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на установку статуса","required":["status"],"properties":{"status":{"type":"object","required":["emoji","title"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z"},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":true},"away_message":{"type":"string","description":"Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях.","example":"Вернусь после 15:00","maxLength":1024}}}},"$ref":"#/components/schemas/StatusUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"profile_status:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Новый свой статус\n\n**Метод**: `PUT`\n\n**Путь**: `/profile/status`\n\n> **Скоуп:** `profile_status:write`\n\nМетод для установки себе нового статуса.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `status: object` (required)\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` — Режим «Нет на месте». Пример: `true`\n - `away_message: string` (max length: 1024) — Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях.. Пример: `\"Вернусь после 15:00\"`\n\n### Пример\n\n```json\n{\n \"status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": true,\n \"away_message\": \"Вернусь после 15:00\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/profile/status\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": true,\n \"away_message\": \"Вернусь после 15:00\"\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Статус пользователя\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/profile/status","summary":"Удаление своего статуса","scope":"profile_status:write","plan":null,"auth":true,"paginated":false,"command":"pachca profile delete-status","docLink":"https://dev.pachca.com/api/profile/delete-status","describe":"# DELETE /profile/status — Удаление своего статуса\n\n> **Скоуп:** `profile_status:write`\n\n## Эквивалентная команда\n\n```bash\npachca profile delete-status \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/profile/delete-status\nПолная справка: `pachca api DELETE /profile/status --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/profile/status","description":"Удаление своего статуса\n\nМетод для удаления своего статуса.","parameters":[],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"profile_status:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Удаление своего статуса\n\n**Метод**: `DELETE`\n\n**Путь**: `/profile/status`\n\n> **Скоуп:** `profile_status:write`\n\nМетод для удаления своего статуса.\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/profile/status\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"GET","path":"/search/chats","summary":"Поиск чатов","scope":"search:chats","plan":null,"auth":true,"paginated":true,"command":"pachca search list-chats","docLink":"https://dev.pachca.com/api/search/list-chats","describe":"# GET /search/chats — Поиск чатов\n\n> **Скоуп:** `search:chats`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `query` — query: Текст поискового запроса\n- `limit` — query: Количество возвращаемых результатов за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page`)\n- `order` — query: Направление сортировки\n- `created_from` — query: Фильтр по дате создания (от)\n- `created_to` — query: Фильтр по дате создания (до)\n- `active` — query: Фильтр по активности чата\n- `chat_subtype` — query: Фильтр по типу чата\n- `personal` — query: Фильтр по личным чатам\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca search list-chats \\\n --query=Разработка \\\n --limit=10 \\\n --order=desc \\\n --created-from=2025-01-01T00:00:00.000Z \\\n --created-to=2025-02-01T00:00:00.000Z \\\n --active \\\n --chat-subtype=discussion \\\n --no-personal \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/search/list-chats\nПолная справка: `pachca api GET /search/chats --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/search/chats","description":"Поиск чатов\n\nМетод для полнотекстового поиска каналов и бесед.","parameters":[{"name":"query","in":"query","description":"Текст поискового запроса","required":false,"schema":{"type":"string","example":"Разработка"},"example":"Разработка","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых результатов за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":100,"example":10,"maximum":100},"example":10,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false},{"name":"order","in":"query","description":"Направление сортировки","required":false,"schema":{"type":"string","description":"Порядок сортировки","enum":["asc","desc"],"x-enum-descriptions":{"asc":"По возрастанию","desc":"По убыванию"},"example":"desc","$ref":"#/components/schemas/SortOrder"},"example":"desc","explode":false},{"name":"created_from","in":"query","description":"Фильтр по дате создания (от)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"},"example":"2025-01-01T00:00:00.000Z","explode":false},{"name":"created_to","in":"query","description":"Фильтр по дате создания (до)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-02-01T00:00:00.000Z"},"example":"2025-02-01T00:00:00.000Z","explode":false},{"name":"active","in":"query","description":"Фильтр по активности чата","required":false,"schema":{"type":"boolean","example":true},"example":true,"explode":false},{"name":"chat_subtype","in":"query","description":"Фильтр по типу чата","required":false,"schema":{"type":"string","description":"Тип чата","enum":["discussion","thread"],"x-enum-descriptions":{"discussion":"Канал или беседа","thread":"Тред"},"example":"discussion","$ref":"#/components/schemas/ChatSubtype"},"example":"discussion","explode":false},{"name":"personal","in":"query","description":"Фильтр по личным чатам","required":false,"schema":{"type":"boolean","example":false},"example":false,"explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа поисковых результатов с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}},"meta":{"type":"object","description":"Мета-информация для пагинации поисковых результатов","required":["total","paginate"],"properties":{"total":{"type":"integer","format":"int32","description":"Общее количество найденных результатов","example":42},"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"}}}},"$ref":"#/components/schemas/SearchPaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"search:chats","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Поиск чатов\n\n**Метод**: `GET`\n\n**Путь**: `/search/chats`\n\n> **Скоуп:** `search:chats`\n\nМетод для полнотекстового поиска каналов и бесед.\n\n## Параметры\n\n### Query параметры\n\n- `query: string` — Текст поискового запроса\n- `limit: integer, int32` (default: 100) — Количество возвращаемых результатов за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)\n- `order: string` — Направление сортировки\n Значения: `asc`, `desc`\n- `created_from: date-time` — Фильтр по дате создания (от)\n- `created_to: date-time` — Фильтр по дате создания (до)\n- `active: boolean` — Фильтр по активности чата\n- `chat_subtype: string` — Фильтр по типу чата\n Значения: `discussion`, `thread`\n- `personal: boolean` — Фильтр по личным чатам\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/search/chats?query=Разработка&limit=10&order=desc&created_from=2025-01-01T00:00:00.000Z&created_to=2025-02-01T00:00:00.000Z&active=true&chat_subtype=discussion&personal=false\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n- `meta: object` (required) — Мета-информация для пагинации поисковых результатов\n - `total: integer, int32` (required) — Общее количество найденных результатов. Пример: `42`\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n ],\n \"meta\": {\n \"total\": 42,\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\"\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"GET","path":"/search/messages","summary":"Поиск сообщений","scope":"search:messages","plan":null,"auth":true,"paginated":true,"command":"pachca search list-messages","docLink":"https://dev.pachca.com/api/search/list-messages","describe":"# GET /search/messages — Поиск сообщений\n\n> **Скоуп:** `search:messages`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `query` — query: Текст поискового запроса\n- `limit` — query: Количество возвращаемых результатов за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page`)\n- `order` — query: Направление сортировки\n- `sort` — query: Сортировка результатов\n- `created_from` — query: Фильтр по дате создания (от)\n- `created_to` — query: Фильтр по дате создания (до)\n- `chat_ids` — query: Фильтр по ID чатов\n- `user_ids` — query: Фильтр по ID авторов сообщений\n- `active` — query: Фильтр по активности чата\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca search list-messages \\\n --query=футболки \\\n --limit=10 \\\n --order=desc \\\n --sort=created_at \\\n --created-from=2025-01-01T00:00:00.000Z \\\n --created-to=2025-02-01T00:00:00.000Z \\\n --chat-ids=198,334 \\\n --user-ids=12,185 \\\n --active \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/search/list-messages\nПолная справка: `pachca api GET /search/messages --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/search/messages","description":"Поиск сообщений\n\nМетод для полнотекстового поиска сообщений.","parameters":[{"name":"query","in":"query","description":"Текст поискового запроса","required":false,"schema":{"type":"string","example":"футболки"},"example":"футболки","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых результатов за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":200,"example":10,"maximum":200},"example":10,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false},{"name":"order","in":"query","description":"Направление сортировки","required":false,"schema":{"type":"string","description":"Порядок сортировки","enum":["asc","desc"],"x-enum-descriptions":{"asc":"По возрастанию","desc":"По убыванию"},"example":"desc","$ref":"#/components/schemas/SortOrder"},"example":"desc","explode":false},{"name":"sort","in":"query","description":"Сортировка результатов","required":false,"schema":{"default":"created_at","allOf":[{"type":"string","description":"Сортировка результатов поиска сообщений","enum":["created_at","relevance"],"x-enum-descriptions":{"created_at":"По дате создания (хронология)","relevance":"По релевантности"},"$ref":"#/components/schemas/MessageSearchSort"}]},"example":"created_at","explode":false},{"name":"created_from","in":"query","description":"Фильтр по дате создания (от)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"},"example":"2025-01-01T00:00:00.000Z","explode":false},{"name":"created_to","in":"query","description":"Фильтр по дате создания (до)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-02-01T00:00:00.000Z"},"example":"2025-02-01T00:00:00.000Z","explode":false},{"name":"chat_ids","in":"query","description":"Фильтр по ID чатов","required":false,"schema":{"type":"array","example":[198,334],"items":{"type":"integer","format":"int32"}},"example":[198,334],"explode":false},{"name":"user_ids","in":"query","description":"Фильтр по ID авторов сообщений","required":false,"schema":{"type":"array","example":[12,185],"items":{"type":"integer","format":"int32"}},"example":[12,185],"explode":false},{"name":"active","in":"query","description":"Фильтр по активности чата","required":false,"schema":{"type":"boolean","example":true},"example":true,"explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа поисковых результатов с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Сообщение","required":["id","entity_type","entity_id","chat_id","root_chat_id","content","user_id","created_at","url","files","voice_content","buttons","thread","forwarding","parent_message_id","display_avatar_url","display_name","changed_at","deleted_at"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор сообщения","example":194275},"entity_type":{"description":"Тип сущности, к которой относится сообщение","example":"discussion","allOf":[{"type":"string","description":"Тип сущности для сообщений","enum":["discussion","thread","user"],"x-enum-descriptions":{"discussion":"Беседа или канал","thread":"Тред","user":"Пользователь"},"$ref":"#/components/schemas/MessageEntityType"}]},"entity_id":{"type":"integer","format":"int32","description":"Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя)","example":334},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится сообщение","example":334},"root_chat_id":{"type":"integer","format":"int32","description":"Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.","example":334},"content":{"type":"string","description":"Текст сообщения","example":"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего сообщение","example":12},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:57:23.000Z"},"url":{"type":"string","description":"Прямая ссылка на сообщение","example":"https://app.pachca.com/chats/334?message=194275"},"files":{"type":"array","description":"Прикрепленные файлы","items":{"type":"object","description":"Файл","required":["id","key","name","file_type","url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор файла","example":3560},"key":{"type":"string","description":"Путь к файлу","example":"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"},"name":{"type":"string","description":"Название файла с расширением","example":"congrat.png"},"file_type":{"description":"Тип файла","example":"image","allOf":[{"type":"string","description":"Тип файла","enum":["file","image","audio","voice"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение","audio":"Аудиофайл","voice":"Голосовое сообщение"},"$ref":"#/components/schemas/FileType"}]},"url":{"type":"string","description":"Прямая ссылка на скачивание файла","example":"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8"},"width":{"type":"integer","format":"int32","description":"Ширина изображения в пикселях","example":1920,"nullable":true},"height":{"type":"integer","format":"int32","description":"Высота изображения в пикселях","example":1080,"nullable":true}},"$ref":"#/components/schemas/File"}},"voice_content":{"type":"object","description":"Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.","nullable":true,"allOf":[{"type":"object","description":"Данные голосового сообщения","required":["duration_ms","waveform","transcript"],"properties":{"duration_ms":{"type":"integer","format":"int32","description":"Длительность голосового сообщения в миллисекундах","example":5400},"waveform":{"type":"string","description":"Форма волны (амплитуды) для визуализации голосового сообщения","example":"4,8,12,20,16,10,6,3"},"transcript":{"type":"string","description":"Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.","example":"Привет, посмотри пожалуйста последний отчёт","nullable":true}},"$ref":"#/components/schemas/VoiceContent"}]},"buttons":{"type":"array","description":"Массив строк, каждая из которых представлена массивом кнопок","nullable":true,"items":{"type":"array","items":{"type":"object","description":"Кнопка","required":["text"],"properties":{"text":{"type":"string","description":"Текст, отображаемый на кнопке","example":"Подробнее","maxLength":255},"url":{"type":"string","description":"Ссылка, которая будет открыта по нажатию кнопки","example":"https://example.com/details"},"data":{"type":"string","description":"Данные, которые будут отправлены в исходном вебхуке по нажатию кнопки","example":"awesome","maxLength":255}},"$ref":"#/components/schemas/Button"}}},"thread":{"type":"object","description":"Тред сообщения","required":["id","chat_id"],"nullable":true,"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор треда","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда","example":2637266155}}},"forwarding":{"type":"object","description":"Информация о пересланном сообщении","nullable":true,"allOf":[{"type":"object","description":"Информация о пересланном сообщении","required":["original_message_id","original_chat_id","author_id","original_created_at","original_thread_id","original_thread_message_id","original_thread_parent_chat_id"],"properties":{"original_message_id":{"type":"integer","format":"int32","description":"Идентификатор оригинального сообщения","example":194275},"original_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится оригинальное сообщение","example":334},"author_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего оригинальное сообщение","example":12},"original_created_at":{"type":"string","format":"date-time","description":"Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-15T10:30:00.000Z"},"original_thread_id":{"type":"integer","format":"int32","description":"Идентификатор треда, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true},"original_thread_parent_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение","example":null,"nullable":true}},"$ref":"#/components/schemas/Forwarding"}]},"parent_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому написан ответ","example":null,"nullable":true},"display_avatar_url":{"type":"string","description":"Ссылка на аватарку отправителя сообщения","example":null,"nullable":true},"display_name":{"type":"string","description":"Полное имя отправителя сообщения","example":null,"nullable":true},"changed_at":{"type":"string","format":"date-time","description":"Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T16:10:00.000Z","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":null,"nullable":true}},"$ref":"#/components/schemas/Message"}},"meta":{"type":"object","description":"Мета-информация для пагинации поисковых результатов","required":["total","paginate"],"properties":{"total":{"type":"integer","format":"int32","description":"Общее количество найденных результатов","example":42},"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"}}}},"$ref":"#/components/schemas/SearchPaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"search:messages","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Поиск сообщений\n\n**Метод**: `GET`\n\n**Путь**: `/search/messages`\n\n> **Скоуп:** `search:messages`\n\nМетод для полнотекстового поиска сообщений.\n\n## Параметры\n\n### Query параметры\n\n- `query: string` — Текст поискового запроса\n- `limit: integer, int32` (default: 200) — Количество возвращаемых результатов за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)\n- `order: string` — Направление сортировки\n Значения: `asc`, `desc`\n- `sort: string` (default: created_at) — Сортировка результатов\n- `created_from: date-time` — Фильтр по дате создания (от)\n- `created_to: date-time` — Фильтр по дате создания (до)\n- `chat_ids: array` — Фильтр по ID чатов\n- `user_ids: array` — Фильтр по ID авторов сообщений\n- `active: boolean` — Фильтр по активности чата\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/search/messages?query=футболки&limit=10&order=desc&sort=created_at&created_from=2025-01-01T00:00:00.000Z&created_to=2025-02-01T00:00:00.000Z&chat_ids[]=198&chat_ids[]=334&user_ids[]=12&user_ids[]=185&active=true\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор сообщения. Пример: `194275`\n - `entity_type: string` (required) — Тип сущности, к которой относится сообщение\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности, к которой относится сообщение (беседы/канала, треда или пользователя). Пример: `334`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором находится сообщение. Пример: `334`\n - `root_chat_id: integer, int32` (required) — Идентификатор корневого чата. Для сообщений в тредах — идентификатор чата, в котором был создан тред. Для обычных сообщений совпадает с `chat_id`.. Пример: `334`\n - `content: string` (required) — Текст сообщения. Пример: `\"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\"`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, создавшего сообщение. Пример: `12`\n - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:57:23.000Z\"`\n - `url: string` (required) — Прямая ссылка на сообщение. Пример: `\"https://app.pachca.com/chats/334?message=194275\"`\n - `files: array of object` (required) — Прикрепленные файлы\n - `id: integer, int32` (required) — Идентификатор файла. Пример: `3560`\n - `key: string` (required) — Путь к файлу. Пример: `\"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\"`\n - `name: string` (required) — Название файла с расширением. Пример: `\"congrat.png\"`\n - `file_type: string` (required) — Тип файла\n Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение\n - `url: string` (required) — Прямая ссылка на скачивание файла. Пример: `\"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\"`\n - `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`\n - `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`\n - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.\n - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`\n - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `\"4,8,12,20,16,10,6,3\"`\n - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `\"Привет, посмотри пожалуйста последний отчёт\"`\n - `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок\n - `thread: object` (required) — Тред сообщения\n - `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда. Пример: `2637266155`\n - `forwarding: object` (required) — Информация о пересланном сообщении\n - `original_message_id: integer, int32` (required) — Идентификатор оригинального сообщения. Пример: `194275`\n - `original_chat_id: integer, int32` (required) — Идентификатор чата, в котором находится оригинальное сообщение. Пример: `334`\n - `author_id: integer, int32` (required) — Идентификатор пользователя, создавшего оригинальное сообщение. Пример: `12`\n - `original_created_at: date-time` (required) — Дата и время создания оригинального сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-15T10:30:00.000Z\"`\n - `original_thread_id: integer, int32` (required) — Идентификатор треда, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_message_id: integer, int32` (required) — Идентификатор сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `original_thread_parent_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому был создан тред, в котором находится оригинальное сообщение. Пример: `null`\n - `parent_message_id: integer, int32` (required) — Идентификатор сообщения, к которому написан ответ. Пример: `null`\n - `display_avatar_url: string` (required) — Ссылка на аватарку отправителя сообщения. Пример: `null`\n - `display_name: string` (required) — Полное имя отправителя сообщения. Пример: `null`\n - `changed_at: date-time` (required) — Дата и время последнего редактирования сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T16:10:00.000Z\"`\n - `deleted_at: date-time` (required) — Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `null`\n- `meta: object` (required) — Мета-информация для пагинации поисковых результатов\n - `total: integer, int32` (required) — Общее количество найденных результатов. Пример: `42`\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 194275,\n \"entity_type\": \"discussion\",\n \"entity_id\": 334,\n \"chat_id\": 334,\n \"root_chat_id\": 334,\n \"content\": \"Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)\",\n \"user_id\": 12,\n \"created_at\": \"2021-08-28T15:57:23.000Z\",\n \"url\": \"https://app.pachca.com/chats/334?message=194275\",\n \"files\": [\n {\n \"id\": 3560,\n \"key\": \"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png\",\n \"name\": \"congrat.png\",\n \"file_type\": \"image\",\n \"url\": \"https://pachca-prod-uploads.s3.storage.selcloud.ru/attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png?response-cache-control=max-age%3D3600%3B&response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=142155_staply%2F20231107%2Fru-1a%2Fs3%2Faws4_request&X-Amz-Date=20231107T160412&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=98765asgfadsfdSaDSd4sdfg35asdf67sadf8\",\n \"width\": 1920,\n \"height\": 1080\n }\n ],\n \"voice_content\": {\n \"duration_ms\": 5400,\n \"waveform\": \"4,8,12,20,16,10,6,3\",\n \"transcript\": \"Привет, посмотри пожалуйста последний отчёт\"\n },\n \"buttons\": [\n [\n {\n \"text\": null\n }\n ]\n ],\n \"thread\": {\n \"id\": 265142,\n \"chat_id\": 2637266155\n },\n \"forwarding\": {\n \"original_message_id\": 194275,\n \"original_chat_id\": 334,\n \"author_id\": 12,\n \"original_created_at\": \"2025-01-15T10:30:00.000Z\",\n \"original_thread_id\": null,\n \"original_thread_message_id\": null,\n \"original_thread_parent_chat_id\": null\n },\n \"parent_message_id\": null,\n \"display_avatar_url\": null,\n \"display_name\": null,\n \"changed_at\": \"2021-08-28T16:10:00.000Z\",\n \"deleted_at\": null\n }\n ],\n \"meta\": {\n \"total\": 42,\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\"\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"GET","path":"/search/users","summary":"Поиск сотрудников","scope":"search:users","plan":null,"auth":true,"paginated":true,"command":"pachca search list-users","docLink":"https://dev.pachca.com/api/search/list-users","describe":"# GET /search/users — Поиск сотрудников\n\n> **Скоуп:** `search:users`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `query` — query: Текст поискового запроса\n- `limit` — query: Количество возвращаемых результатов за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page`)\n- `sort` — query: Сортировка результатов\n- `order` — query: Направление сортировки\n- `created_from` — query: Фильтр по дате создания (от)\n- `created_to` — query: Фильтр по дате создания (до)\n- `company_roles` — query: Фильтр по ролям сотрудников\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca search list-users \\\n --query=Олег \\\n --limit=10 \\\n --sort=by_score \\\n --order=desc \\\n --created-from=2025-01-01T00:00:00.000Z \\\n --created-to=2025-02-01T00:00:00.000Z \\\n --company-roles=admin,user \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/search/list-users\nПолная справка: `pachca api GET /search/users --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/search/users","description":"Поиск сотрудников\n\nМетод для полнотекстового поиска сотрудников по имени, email, должности и другим полям.","parameters":[{"name":"query","in":"query","description":"Текст поискового запроса","required":false,"schema":{"type":"string","example":"Олег"},"example":"Олег","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых результатов за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":200,"example":10,"maximum":200},"example":10,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false},{"name":"sort","in":"query","description":"Сортировка результатов","required":false,"schema":{"type":"string","description":"Сортировка результатов поиска","enum":["by_score","alphabetical"],"x-enum-descriptions":{"by_score":"По релевантности","alphabetical":"По алфавиту"},"example":"by_score","$ref":"#/components/schemas/SearchSortOrder"},"example":"by_score","explode":false},{"name":"order","in":"query","description":"Направление сортировки","required":false,"schema":{"type":"string","description":"Порядок сортировки","enum":["asc","desc"],"x-enum-descriptions":{"asc":"По возрастанию","desc":"По убыванию"},"example":"desc","$ref":"#/components/schemas/SortOrder"},"example":"desc","explode":false},{"name":"created_from","in":"query","description":"Фильтр по дате создания (от)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"},"example":"2025-01-01T00:00:00.000Z","explode":false},{"name":"created_to","in":"query","description":"Фильтр по дате создания (до)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-02-01T00:00:00.000Z"},"example":"2025-02-01T00:00:00.000Z","explode":false},{"name":"company_roles","in":"query","description":"Фильтр по ролям сотрудников","required":false,"schema":{"type":"array","example":["admin","user"],"items":{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}},"example":["admin","user"],"explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа поисковых результатов с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}},"meta":{"type":"object","description":"Мета-информация для пагинации поисковых результатов","required":["total","paginate"],"properties":{"total":{"type":"integer","format":"int32","description":"Общее количество найденных результатов","example":42},"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"}}}},"$ref":"#/components/schemas/SearchPaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"search:users","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Поиск сотрудников\n\n**Метод**: `GET`\n\n**Путь**: `/search/users`\n\n> **Скоуп:** `search:users`\n\nМетод для полнотекстового поиска сотрудников по имени, email, должности и другим полям.\n\n## Параметры\n\n### Query параметры\n\n- `query: string` — Текст поискового запроса\n- `limit: integer, int32` (default: 200) — Количество возвращаемых результатов за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)\n- `sort: string` — Сортировка результатов\n Значения: `by_score`, `alphabetical`\n- `order: string` — Направление сортировки\n Значения: `asc`, `desc`\n- `created_from: date-time` — Фильтр по дате создания (от)\n- `created_to: date-time` — Фильтр по дате создания (до)\n- `company_roles: array` — Фильтр по ролям сотрудников\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/search/users?query=Олег&limit=10&sort=by_score&order=desc&created_from=2025-01-01T00:00:00.000Z&created_to=2025-02-01T00:00:00.000Z&company_roles[]=admin&company_roles[]=user\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n- `meta: object` (required) — Мета-информация для пагинации поисковых результатов\n - `total: integer, int32` (required) — Общее количество найденных результатов. Пример: `42`\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n ],\n \"meta\": {\n \"total\": 42,\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\"\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"POST","path":"/tasks","summary":"Новое напоминание","scope":"tasks:create","plan":null,"auth":true,"paginated":false,"command":"pachca tasks create","docLink":"https://dev.pachca.com/api/tasks/create","describe":"# POST /tasks — Новое напоминание\n\n> **Скоуп:** `tasks:create`\n\n## Тело запроса\n\n- `task: object` (required) — Собранный объект параметров создаваемого напоминания\n - `kind: string` (required) — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` — Описание (по умолчанию — название типа)\n - `due_at: date-time` — Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).\n - `priority: integer, int32` (default: 1) — Приоритет: 1, 2 (важно) или 3 (очень важно).\n - `performer_ids: array of integer` — Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные» (по умолчанию ответственным назначается вы)\n - `chat_id: integer, int32` — Идентификатор чата, к которому привязывается напоминание\n - `all_day: boolean` — Напоминание на весь день (без указания времени)\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля\n - `value: string` (required) — Устанавливаемое значение\n\n## Эквивалентная команда\n\n```bash\npachca tasks create \\\n --kind=reminder \\\n --content=\"Забрать со склада 21 заказ\" \\\n --due-at=2020-06-05T12:00:00.000+03:00 \\\n --priority=2 \\\n --performer-ids=12,13 \\\n --chat-id=456 \\\n --no-all-day \\\n --custom-properties='[{\"id\":78,\"value\":\"Синий склад\"}]' \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/tasks/create\nПолная справка: `pachca api POST /tasks --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/tasks","description":"Новое напоминание\n\nМетод для создания нового напоминания.\n\nПри создании напоминания обязательным условием является указания типа напоминания: звонок, встреча, простое напоминание, событие или письмо. При этом не требуется дополнительное описание - вы просто создадите напоминание с соответствующим текстом. Если вы укажите описание напоминания - то именно оно и станет текстом напоминания.\n\nУ напоминания должны быть ответственные, если их не указывать - ответственным назначается вы.\n\nОтветственным для напоминания без привязки к каким-либо сущностям может стать любой сотрудник компании. Актуальный состав сотрудников компании вы можете получить в методе [список сотрудников](GET /users).\n\nНапоминание можно привязать к чату, указав `chat_id`. Для привязки к чату необходимо быть его участником.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание напоминания","required":["task"],"properties":{"task":{"type":"object","description":"Собранный объект параметров создаваемого напоминания","required":["kind"],"properties":{"kind":{"description":"Тип","example":"reminder","allOf":[{"type":"string","description":"Тип задачи","enum":["call","meeting","reminder","event","email"],"x-enum-descriptions":{"call":"Позвонить контакту","meeting":"Встреча","reminder":"Простое напоминание","event":"Событие","email":"Написать письмо"},"$ref":"#/components/schemas/TaskKind"}]},"content":{"type":"string","description":"Описание (по умолчанию — название типа)","example":"Забрать со склада 21 заказ"},"due_at":{"type":"string","format":"date-time","description":"Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).","example":"2020-06-05T12:00:00.000+03:00"},"priority":{"type":"integer","format":"int32","description":"Приоритет: 1, 2 (важно) или 3 (очень важно).","default":1,"example":2},"performer_ids":{"type":"array","description":"Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные» (по умолчанию ответственным назначается вы)","example":[12,13],"items":{"type":"integer","format":"int32"}},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, к которому привязывается напоминание","example":456},"all_day":{"type":"boolean","description":"Напоминание на весь день (без указания времени)","example":false},"custom_properties":{"type":"array","description":"Задаваемые дополнительные поля","items":{"type":"object","required":["id","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":78},"value":{"type":"string","description":"Устанавливаемое значение","example":"Синий склад"}}}}}}},"$ref":"#/components/schemas/TaskCreateRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Напоминание","required":["id","kind","content","due_at","priority","user_id","chat_id","status","created_at","performer_ids","all_day","custom_properties"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор напоминания","example":22283},"kind":{"description":"Тип","example":"reminder","allOf":[{"type":"string","description":"Тип задачи","enum":["call","meeting","reminder","event","email"],"x-enum-descriptions":{"call":"Позвонить контакту","meeting":"Встреча","reminder":"Простое напоминание","event":"Событие","email":"Написать письмо"},"$ref":"#/components/schemas/TaskKind"}]},"content":{"type":"string","description":"Описание","example":"Забрать со склада 21 заказ"},"due_at":{"type":"string","format":"date-time","description":"Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-05T09:00:00.000Z","nullable":true},"priority":{"type":"integer","format":"int32","description":"Приоритет","example":2},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя-создателя напоминания","example":12},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, к которому привязано напоминание","example":334,"nullable":true},"status":{"description":"Статус напоминания","example":"undone","allOf":[{"type":"string","description":"Статус напоминания","enum":["done","undone"],"x-enum-descriptions":{"done":"Выполнено","undone":"Активно"},"$ref":"#/components/schemas/TaskStatus"}]},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-04T10:37:57.000Z"},"performer_ids":{"type":"array","description":"Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные»","example":[12],"items":{"type":"integer","format":"int32"}},"all_day":{"type":"boolean","description":"Напоминание на весь день (без указания времени)","example":false},"custom_properties":{"type":"array","description":"Дополнительные поля напоминания","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}}},"$ref":"#/components/schemas/Task"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"tasks:create","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Новое напоминание\n\n**Метод**: `POST`\n\n**Путь**: `/tasks`\n\n> **Скоуп:** `tasks:create`\n\nМетод для создания нового напоминания.\n\nПри создании напоминания обязательным условием является указания типа напоминания: звонок, встреча, простое напоминание, событие или письмо. При этом не требуется дополнительное описание - вы просто создадите напоминание с соответствующим текстом. Если вы укажите описание напоминания - то именно оно и станет текстом напоминания.\n\nУ напоминания должны быть ответственные, если их не указывать - ответственным назначается вы.\n\nОтветственным для напоминания без привязки к каким-либо сущностям может стать любой сотрудник компании. Актуальный состав сотрудников компании вы можете получить в методе [список сотрудников](GET /users).\n\nНапоминание можно привязать к чату, указав `chat_id`. Для привязки к чату необходимо быть его участником.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `task: object` (required) — Собранный объект параметров создаваемого напоминания\n - `kind: string` (required) — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` — Описание (по умолчанию — название типа). Пример: `\"Забрать со склада 21 заказ\"`\n - `due_at: date-time` — Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).. Пример: `\"2020-06-05T12:00:00.000+03:00\"`\n - `priority: integer, int32` (default: 1) — Приоритет: 1, 2 (важно) или 3 (очень важно).. Пример: `2`\n - `performer_ids: array of integer` — Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные» (по умолчанию ответственным назначается вы). Пример: `[12,13]`\n - `chat_id: integer, int32` — Идентификатор чата, к которому привязывается напоминание. Пример: `456`\n - `all_day: boolean` — Напоминание на весь день (без указания времени). Пример: `false`\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `78`\n - `value: string` (required) — Устанавливаемое значение. Пример: `\"Синий склад\"`\n\n### Пример\n\n```json\n{\n \"task\": {\n \"kind\": \"reminder\",\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T12:00:00.000+03:00\",\n \"priority\": 2,\n \"performer_ids\": [\n 12,\n 13\n ],\n \"chat_id\": 456,\n \"all_day\": false,\n \"custom_properties\": [\n {\n \"id\": 78,\n \"value\": \"Синий склад\"\n }\n ]\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/tasks\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"task\": {\n \"kind\": \"reminder\",\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T12:00:00.000+03:00\",\n \"priority\": 2,\n \"performer_ids\": [\n 12,\n 13\n ],\n \"chat_id\": 456,\n \"all_day\": false,\n \"custom_properties\": [\n {\n \"id\": 78,\n \"value\": \"Синий склад\"\n }\n ]\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Напоминание\n - `id: integer, int32` (required) — Идентификатор напоминания. Пример: `22283`\n - `kind: string` (required) — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` (required) — Описание. Пример: `\"Забрать со склада 21 заказ\"`\n - `due_at: date-time` (required) — Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-05T09:00:00.000Z\"`\n - `priority: integer, int32` (required) — Приоритет. Пример: `2`\n - `user_id: integer, int32` (required) — Идентификатор пользователя-создателя напоминания. Пример: `12`\n - `chat_id: integer, int32` (required) — Идентификатор чата, к которому привязано напоминание. Пример: `334`\n - `status: string` (required) — Статус напоминания\n Значения: `done` — Выполнено, `undone` — Активно\n - `created_at: date-time` (required) — Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-04T10:37:57.000Z\"`\n - `performer_ids: array of integer` (required) — Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные». Пример: `[12]`\n - `all_day: boolean` (required) — Напоминание на весь день (без указания времени). Пример: `false`\n - `custom_properties: array of object` (required) — Дополнительные поля напоминания\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 22283,\n \"kind\": \"reminder\",\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T09:00:00.000Z\",\n \"priority\": 2,\n \"user_id\": 12,\n \"chat_id\": 334,\n \"status\": \"undone\",\n \"created_at\": \"2020-06-04T10:37:57.000Z\",\n \"performer_ids\": [\n 12\n ],\n \"all_day\": false,\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/tasks","summary":"Список напоминаний","scope":"tasks:read","plan":null,"auth":true,"paginated":true,"command":"pachca tasks list","docLink":"https://dev.pachca.com/api/tasks/list","describe":"# GET /tasks — Список напоминаний\n\n> **Скоуп:** `tasks:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca tasks list \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/tasks/list\nПолная справка: `pachca api GET /tasks --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/tasks","description":"Список напоминаний\n\nМетод для получения списка напоминаний.","parameters":[{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Напоминание","required":["id","kind","content","due_at","priority","user_id","chat_id","status","created_at","performer_ids","all_day","custom_properties"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор напоминания","example":22283},"kind":{"description":"Тип","example":"reminder","allOf":[{"type":"string","description":"Тип задачи","enum":["call","meeting","reminder","event","email"],"x-enum-descriptions":{"call":"Позвонить контакту","meeting":"Встреча","reminder":"Простое напоминание","event":"Событие","email":"Написать письмо"},"$ref":"#/components/schemas/TaskKind"}]},"content":{"type":"string","description":"Описание","example":"Забрать со склада 21 заказ"},"due_at":{"type":"string","format":"date-time","description":"Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-05T09:00:00.000Z","nullable":true},"priority":{"type":"integer","format":"int32","description":"Приоритет","example":2},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя-создателя напоминания","example":12},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, к которому привязано напоминание","example":334,"nullable":true},"status":{"description":"Статус напоминания","example":"undone","allOf":[{"type":"string","description":"Статус напоминания","enum":["done","undone"],"x-enum-descriptions":{"done":"Выполнено","undone":"Активно"},"$ref":"#/components/schemas/TaskStatus"}]},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-04T10:37:57.000Z"},"performer_ids":{"type":"array","description":"Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные»","example":[12],"items":{"type":"integer","format":"int32"}},"all_day":{"type":"boolean","description":"Напоминание на весь день (без указания времени)","example":false},"custom_properties":{"type":"array","description":"Дополнительные поля напоминания","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}}},"$ref":"#/components/schemas/Task"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"tasks:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список напоминаний\n\n**Метод**: `GET`\n\n**Путь**: `/tasks`\n\n> **Скоуп:** `tasks:read`\n\nМетод для получения списка напоминаний.\n\n## Параметры\n\n### Query параметры\n\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/tasks?limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор напоминания. Пример: `22283`\n - `kind: string` (required) — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` (required) — Описание. Пример: `\"Забрать со склада 21 заказ\"`\n - `due_at: date-time` (required) — Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-05T09:00:00.000Z\"`\n - `priority: integer, int32` (required) — Приоритет. Пример: `2`\n - `user_id: integer, int32` (required) — Идентификатор пользователя-создателя напоминания. Пример: `12`\n - `chat_id: integer, int32` (required) — Идентификатор чата, к которому привязано напоминание. Пример: `334`\n - `status: string` (required) — Статус напоминания\n Значения: `done` — Выполнено, `undone` — Активно\n - `created_at: date-time` (required) — Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-04T10:37:57.000Z\"`\n - `performer_ids: array of integer` (required) — Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные». Пример: `[12]`\n - `all_day: boolean` (required) — Напоминание на весь день (без указания времени). Пример: `false`\n - `custom_properties: array of object` (required) — Дополнительные поля напоминания\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 22283,\n \"kind\": \"reminder\",\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T09:00:00.000Z\",\n \"priority\": 2,\n \"user_id\": 12,\n \"chat_id\": 334,\n \"status\": \"undone\",\n \"created_at\": \"2020-06-04T10:37:57.000Z\",\n \"performer_ids\": [\n 12\n ],\n \"all_day\": false,\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"GET","path":"/tasks/{id}","summary":"Информация о напоминании","scope":"tasks:read","plan":null,"auth":true,"paginated":false,"command":"pachca tasks get","docLink":"https://dev.pachca.com/api/tasks/get","describe":"# GET /tasks/{id} — Информация о напоминании\n\n> **Скоуп:** `tasks:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор напоминания\n\n## Эквивалентная команда\n\n```bash\npachca tasks get 22283 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/tasks/get\nПолная справка: `pachca api GET /tasks/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/tasks/{id}","description":"Информация о напоминании\n\nМетод для получения информации о напоминании.\n\nДля получения напоминания вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор напоминания","required":true,"schema":{"type":"integer","format":"int32","example":22283},"example":22283}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Напоминание","required":["id","kind","content","due_at","priority","user_id","chat_id","status","created_at","performer_ids","all_day","custom_properties"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор напоминания","example":22283},"kind":{"description":"Тип","example":"reminder","allOf":[{"type":"string","description":"Тип задачи","enum":["call","meeting","reminder","event","email"],"x-enum-descriptions":{"call":"Позвонить контакту","meeting":"Встреча","reminder":"Простое напоминание","event":"Событие","email":"Написать письмо"},"$ref":"#/components/schemas/TaskKind"}]},"content":{"type":"string","description":"Описание","example":"Забрать со склада 21 заказ"},"due_at":{"type":"string","format":"date-time","description":"Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-05T09:00:00.000Z","nullable":true},"priority":{"type":"integer","format":"int32","description":"Приоритет","example":2},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя-создателя напоминания","example":12},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, к которому привязано напоминание","example":334,"nullable":true},"status":{"description":"Статус напоминания","example":"undone","allOf":[{"type":"string","description":"Статус напоминания","enum":["done","undone"],"x-enum-descriptions":{"done":"Выполнено","undone":"Активно"},"$ref":"#/components/schemas/TaskStatus"}]},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-04T10:37:57.000Z"},"performer_ids":{"type":"array","description":"Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные»","example":[12],"items":{"type":"integer","format":"int32"}},"all_day":{"type":"boolean","description":"Напоминание на весь день (без указания времени)","example":false},"custom_properties":{"type":"array","description":"Дополнительные поля напоминания","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}}},"$ref":"#/components/schemas/Task"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"tasks:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Информация о напоминании\n\n**Метод**: `GET`\n\n**Путь**: `/tasks/{id}`\n\n> **Скоуп:** `tasks:read`\n\nМетод для получения информации о напоминании.\n\nДля получения напоминания вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор напоминания\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/tasks/22283\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Напоминание\n - `id: integer, int32` (required) — Идентификатор напоминания. Пример: `22283`\n - `kind: string` (required) — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` (required) — Описание. Пример: `\"Забрать со склада 21 заказ\"`\n - `due_at: date-time` (required) — Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-05T09:00:00.000Z\"`\n - `priority: integer, int32` (required) — Приоритет. Пример: `2`\n - `user_id: integer, int32` (required) — Идентификатор пользователя-создателя напоминания. Пример: `12`\n - `chat_id: integer, int32` (required) — Идентификатор чата, к которому привязано напоминание. Пример: `334`\n - `status: string` (required) — Статус напоминания\n Значения: `done` — Выполнено, `undone` — Активно\n - `created_at: date-time` (required) — Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-04T10:37:57.000Z\"`\n - `performer_ids: array of integer` (required) — Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные». Пример: `[12]`\n - `all_day: boolean` (required) — Напоминание на весь день (без указания времени). Пример: `false`\n - `custom_properties: array of object` (required) — Дополнительные поля напоминания\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 22283,\n \"kind\": \"reminder\",\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T09:00:00.000Z\",\n \"priority\": 2,\n \"user_id\": 12,\n \"chat_id\": 334,\n \"status\": \"undone\",\n \"created_at\": \"2020-06-04T10:37:57.000Z\",\n \"performer_ids\": [\n 12\n ],\n \"all_day\": false,\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/tasks/{id}","summary":"Редактирование напоминания","scope":"tasks:update","plan":null,"auth":true,"paginated":false,"command":"pachca tasks update","docLink":"https://dev.pachca.com/api/tasks/update","describe":"# PUT /tasks/{id} — Редактирование напоминания\n\n> **Скоуп:** `tasks:update`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор напоминания\n\n## Тело запроса\n\n- `task: object` (required) — Собранный объект параметров обновляемого напоминания\n - `kind: string` — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` — Описание\n - `due_at: date-time` — Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).\n - `priority: integer, int32` — Приоритет: 1, 2 (важно) или 3 (очень важно).\n - `performer_ids: array of integer` — Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные»\n - `status: string` — Статус\n Значения: `done` — Выполнено, `undone` — Активно\n - `all_day: boolean` — Напоминание на весь день (без указания времени)\n - `done_at: date-time` — Дата и время выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля\n - `value: string` (required) — Устанавливаемое значение\n\n## Эквивалентная команда\n\n```bash\npachca tasks update 22283 \\\n --content=\"Забрать со склада 21 заказ\" \\\n --due-at=2020-06-05T12:00:00.000+03:00 \\\n --priority=2 \\\n --performer-ids=12 \\\n --status=done \\\n --no-all-day \\\n --done-at=2020-06-05T12:00:00.000Z \\\n --custom-properties='[{\"id\":78,\"value\":\"Синий склад\"}]' \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/tasks/update\nПолная справка: `pachca api PUT /tasks/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/tasks/{id}","description":"Редактирование напоминания\n\nМетод для редактирования напоминания.\n\nДля редактирования напоминания вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры напоминания указываются в теле запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор напоминания","required":true,"schema":{"type":"integer","format":"int32","example":22283},"example":22283}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на обновление напоминания","required":["task"],"properties":{"task":{"type":"object","description":"Собранный объект параметров обновляемого напоминания","properties":{"kind":{"description":"Тип","default":"reminder","example":"reminder","allOf":[{"type":"string","description":"Тип задачи","enum":["call","meeting","reminder","event","email"],"x-enum-descriptions":{"call":"Позвонить контакту","meeting":"Встреча","reminder":"Простое напоминание","event":"Событие","email":"Написать письмо"},"$ref":"#/components/schemas/TaskKind"}]},"content":{"type":"string","description":"Описание","example":"Забрать со склада 21 заказ"},"due_at":{"type":"string","format":"date-time","description":"Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).","example":"2020-06-05T12:00:00.000+03:00"},"priority":{"type":"integer","format":"int32","description":"Приоритет: 1, 2 (важно) или 3 (очень важно).","example":2},"performer_ids":{"type":"array","description":"Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные»","example":[12],"items":{"type":"integer","format":"int32"}},"status":{"description":"Статус","example":"done","allOf":[{"type":"string","description":"Статус напоминания","enum":["done","undone"],"x-enum-descriptions":{"done":"Выполнено","undone":"Активно"},"$ref":"#/components/schemas/TaskStatus"}]},"all_day":{"type":"boolean","description":"Напоминание на весь день (без указания времени)","example":false},"done_at":{"type":"string","format":"date-time","description":"Дата и время выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-05T12:00:00.000Z"},"custom_properties":{"type":"array","description":"Задаваемые дополнительные поля","items":{"type":"object","required":["id","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":78},"value":{"type":"string","description":"Устанавливаемое значение","example":"Синий склад"}}}}}}},"$ref":"#/components/schemas/TaskUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Напоминание","required":["id","kind","content","due_at","priority","user_id","chat_id","status","created_at","performer_ids","all_day","custom_properties"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор напоминания","example":22283},"kind":{"description":"Тип","example":"reminder","allOf":[{"type":"string","description":"Тип задачи","enum":["call","meeting","reminder","event","email"],"x-enum-descriptions":{"call":"Позвонить контакту","meeting":"Встреча","reminder":"Простое напоминание","event":"Событие","email":"Написать письмо"},"$ref":"#/components/schemas/TaskKind"}]},"content":{"type":"string","description":"Описание","example":"Забрать со склада 21 заказ"},"due_at":{"type":"string","format":"date-time","description":"Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-05T09:00:00.000Z","nullable":true},"priority":{"type":"integer","format":"int32","description":"Приоритет","example":2},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя-создателя напоминания","example":12},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, к которому привязано напоминание","example":334,"nullable":true},"status":{"description":"Статус напоминания","example":"undone","allOf":[{"type":"string","description":"Статус напоминания","enum":["done","undone"],"x-enum-descriptions":{"done":"Выполнено","undone":"Активно"},"$ref":"#/components/schemas/TaskStatus"}]},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-04T10:37:57.000Z"},"performer_ids":{"type":"array","description":"Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные»","example":[12],"items":{"type":"integer","format":"int32"}},"all_day":{"type":"boolean","description":"Напоминание на весь день (без указания времени)","example":false},"custom_properties":{"type":"array","description":"Дополнительные поля напоминания","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}}},"$ref":"#/components/schemas/Task"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"tasks:update","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Редактирование напоминания\n\n**Метод**: `PUT`\n\n**Путь**: `/tasks/{id}`\n\n> **Скоуп:** `tasks:update`\n\nМетод для редактирования напоминания.\n\nДля редактирования напоминания вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры напоминания указываются в теле запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор напоминания\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `task: object` (required) — Собранный объект параметров обновляемого напоминания\n - `kind: string` — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` — Описание. Пример: `\"Забрать со склада 21 заказ\"`\n - `due_at: date-time` — Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).. Пример: `\"2020-06-05T12:00:00.000+03:00\"`\n - `priority: integer, int32` — Приоритет: 1, 2 (важно) или 3 (очень важно).. Пример: `2`\n - `performer_ids: array of integer` — Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные». Пример: `[12]`\n - `status: string` — Статус\n Значения: `done` — Выполнено, `undone` — Активно\n - `all_day: boolean` — Напоминание на весь день (без указания времени). Пример: `false`\n - `done_at: date-time` — Дата и время выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-05T12:00:00.000Z\"`\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `78`\n - `value: string` (required) — Устанавливаемое значение. Пример: `\"Синий склад\"`\n\n### Пример\n\n```json\n{\n \"task\": {\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T12:00:00.000+03:00\",\n \"priority\": 2,\n \"performer_ids\": [\n 12\n ],\n \"status\": \"done\",\n \"all_day\": false,\n \"done_at\": \"2020-06-05T12:00:00.000Z\",\n \"custom_properties\": [\n {\n \"id\": 78,\n \"value\": \"Синий склад\"\n }\n ]\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/tasks/22283\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"task\": {\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T12:00:00.000+03:00\",\n \"priority\": 2,\n \"performer_ids\": [\n 12\n ],\n \"status\": \"done\",\n \"all_day\": false,\n \"done_at\": \"2020-06-05T12:00:00.000Z\",\n \"custom_properties\": [\n {\n \"id\": 78,\n \"value\": \"Синий склад\"\n }\n ]\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Напоминание\n - `id: integer, int32` (required) — Идентификатор напоминания. Пример: `22283`\n - `kind: string` (required) — Тип\n Значения: `call` — Позвонить контакту, `meeting` — Встреча, `reminder` — Простое напоминание, `event` — Событие, `email` — Написать письмо\n - `content: string` (required) — Описание. Пример: `\"Забрать со склада 21 заказ\"`\n - `due_at: date-time` (required) — Срок выполнения напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-05T09:00:00.000Z\"`\n - `priority: integer, int32` (required) — Приоритет. Пример: `2`\n - `user_id: integer, int32` (required) — Идентификатор пользователя-создателя напоминания. Пример: `12`\n - `chat_id: integer, int32` (required) — Идентификатор чата, к которому привязано напоминание. Пример: `334`\n - `status: string` (required) — Статус напоминания\n Значения: `done` — Выполнено, `undone` — Активно\n - `created_at: date-time` (required) — Дата и время создания напоминания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-04T10:37:57.000Z\"`\n - `performer_ids: array of integer` (required) — Массив идентификаторов пользователей, привязанных к напоминанию как «ответственные». Пример: `[12]`\n - `all_day: boolean` (required) — Напоминание на весь день (без указания времени). Пример: `false`\n - `custom_properties: array of object` (required) — Дополнительные поля напоминания\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 22283,\n \"kind\": \"reminder\",\n \"content\": \"Забрать со склада 21 заказ\",\n \"due_at\": \"2020-06-05T09:00:00.000Z\",\n \"priority\": 2,\n \"user_id\": 12,\n \"chat_id\": 334,\n \"status\": \"undone\",\n \"created_at\": \"2020-06-04T10:37:57.000Z\",\n \"performer_ids\": [\n 12\n ],\n \"all_day\": false,\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/tasks/{id}","summary":"Удаление напоминания","scope":"tasks:delete","plan":null,"auth":true,"paginated":false,"command":"pachca tasks delete","docLink":"https://dev.pachca.com/api/tasks/delete","describe":"# DELETE /tasks/{id} — Удаление напоминания\n\n> **Скоуп:** `tasks:delete`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор напоминания\n\n## Эквивалентная команда\n\n```bash\npachca tasks delete 22283 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/tasks/delete\nПолная справка: `pachca api DELETE /tasks/{id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/tasks/{id}","description":"Удаление напоминания\n\nМетод для удаления напоминания.\n\nДля удаления напоминания вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор напоминания","required":true,"schema":{"type":"integer","format":"int32","example":22283},"example":22283}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"tasks:delete","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Удаление напоминания\n\n**Метод**: `DELETE`\n\n**Путь**: `/tasks/{id}`\n\n> **Скоуп:** `tasks:delete`\n\nМетод для удаления напоминания.\n\nДля удаления напоминания вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор напоминания\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/tasks/22283\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/threads","summary":"Список тредов","scope":"threads:read","plan":null,"auth":true,"paginated":true,"command":"pachca threads list","docLink":"https://dev.pachca.com/api/threads/list","describe":"# GET /threads — Список тредов\n\n> **Скоуп:** `threads:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `last_message_at_after` — query: Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `last_message_at_before` — query: Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca threads list \\\n --last-message-at-after=2025-01-01T00:00:00.000Z \\\n --last-message-at-before=2025-02-01T00:00:00.000Z \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/threads/list\nПолная справка: `pachca api GET /threads --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/threads","description":"Список тредов\n\nМетод для получения списка доступных тредов.\n\nВозвращаются треды, у которых вы являетесь участником чата треда либо чата, в котором был создан тред. Публичные чаты, в которых вы не состоите, в выдачу не попадают — чтобы такой тред попал в список, нужно быть участником чата треда или чата, в котором был создан тред.\n\nСортировка — по убыванию времени последнего сообщения в треде.","parameters":[{"name":"last_message_at_after","in":"query","description":"Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","required":false,"schema":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"},"example":"2025-01-01T00:00:00.000Z","explode":false},{"name":"last_message_at_before","in":"query","description":"Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","required":false,"schema":{"type":"string","format":"date-time","example":"2025-02-01T00:00:00.000Z"},"example":"2025-02-01T00:00:00.000Z","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Тред","required":["id","chat_id","message_id","message_chat_id","updated_at"],"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор созданного треда (используется для отправки [новых комментариев](POST /messages) в тред)","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда (используется для отправки [новых комментариев](POST /messages) в тред и получения [списка комментариев](GET /messages))","example":2637266155},"message_id":{"type":"integer","format":"int64","description":"Идентификатор сообщения, к которому был создан тред","example":154332686},"message_chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата сообщения","example":2637266154},"updated_at":{"type":"string","format":"date-time","description":"Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2023-02-01T19:20:47.204Z"}},"$ref":"#/components/schemas/Thread"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"threads:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список тредов\n\n**Метод**: `GET`\n\n**Путь**: `/threads`\n\n> **Скоуп:** `threads:read`\n\nМетод для получения списка доступных тредов.\n\nВозвращаются треды, у которых вы являетесь участником чата треда либо чата, в котором был создан тред. Публичные чаты, в которых вы не состоите, в выдачу не попадают — чтобы такой тред попал в список, нужно быть участником чата треда или чата, в котором был создан тред.\n\nСортировка — по убыванию времени последнего сообщения в треде.\n\n## Параметры\n\n### Query параметры\n\n- `last_message_at_after: date-time` — Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `last_message_at_before: date-time` — Фильтрация по времени последнего сообщения в треде. Будут возвращены только те треды, время последнего сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/threads?last_message_at_after=2025-01-01T00:00:00.000Z&last_message_at_before=2025-02-01T00:00:00.000Z&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int64` (required) — Идентификатор созданного треда (используется для отправки [новых комментариев](POST /messages) в тред). Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда (используется для отправки [новых комментариев](POST /messages) в тред и получения [списка комментариев](GET /messages)). Пример: `2637266155`\n - `message_id: integer, int64` (required) — Идентификатор сообщения, к которому был создан тред. Пример: `154332686`\n - `message_chat_id: integer, int64` (required) — Идентификатор чата сообщения. Пример: `2637266154`\n - `updated_at: date-time` (required) — Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2023-02-01T19:20:47.204Z\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 265142,\n \"chat_id\": 2637266155,\n \"message_id\": 154332686,\n \"message_chat_id\": 2637266154,\n \"updated_at\": \"2023-02-01T19:20:47.204Z\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/threads/{id}","summary":"Информация о треде","scope":"threads:read","plan":null,"auth":true,"paginated":false,"command":"pachca threads get","docLink":"https://dev.pachca.com/api/threads/get","describe":"# GET /threads/{id} — Информация о треде\n\n> **Скоуп:** `threads:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор треда\n\n## Эквивалентная команда\n\n```bash\npachca threads get 265142 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/threads/get\nПолная справка: `pachca api GET /threads/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/threads/{id}","description":"Информация о треде\n\nМетод для получения информации о треде.\n\nДля получения треда вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор треда","required":true,"schema":{"type":"integer","format":"int32","example":265142},"example":265142}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Тред","required":["id","chat_id","message_id","message_chat_id","updated_at"],"properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор созданного треда (используется для отправки [новых комментариев](POST /messages) в тред)","example":265142},"chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата треда (используется для отправки [новых комментариев](POST /messages) в тред и получения [списка комментариев](GET /messages))","example":2637266155},"message_id":{"type":"integer","format":"int64","description":"Идентификатор сообщения, к которому был создан тред","example":154332686},"message_chat_id":{"type":"integer","format":"int64","description":"Идентификатор чата сообщения","example":2637266154},"updated_at":{"type":"string","format":"date-time","description":"Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2023-02-01T19:20:47.204Z"}},"$ref":"#/components/schemas/Thread"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"threads:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Информация о треде\n\n**Метод**: `GET`\n\n**Путь**: `/threads/{id}`\n\n> **Скоуп:** `threads:read`\n\nМетод для получения информации о треде.\n\nДля получения треда вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор треда\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/threads/265142\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Тред\n - `id: integer, int64` (required) — Идентификатор созданного треда (используется для отправки [новых комментариев](POST /messages) в тред). Пример: `265142`\n - `chat_id: integer, int64` (required) — Идентификатор чата треда (используется для отправки [новых комментариев](POST /messages) в тред и получения [списка комментариев](GET /messages)). Пример: `2637266155`\n - `message_id: integer, int64` (required) — Идентификатор сообщения, к которому был создан тред. Пример: `154332686`\n - `message_chat_id: integer, int64` (required) — Идентификатор чата сообщения. Пример: `2637266154`\n - `updated_at: date-time` (required) — Дата и время обновления треда (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2023-02-01T19:20:47.204Z\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 265142,\n \"chat_id\": 2637266155,\n \"message_id\": 154332686,\n \"message_chat_id\": 2637266154,\n \"updated_at\": \"2023-02-01T19:20:47.204Z\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/uploads","summary":"Получение подписи, ключа и других параметров","scope":"uploads:write","plan":null,"auth":true,"paginated":false,"command":"pachca files uploads","docLink":"https://dev.pachca.com/api/files/uploads","describe":"# POST /uploads — Получение подписи, ключа и других параметров\n\n> **Скоуп:** `uploads:write`\n\n## Эквивалентная команда\n\n```bash\npachca files uploads \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/files/uploads\nПолная справка: `pachca api POST /uploads --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/uploads","description":"Получение подписи, ключа и других параметров\n\nМетод для получения подписи, ключа и других параметров, необходимых для загрузки файла.\n\nДанный метод необходимо использовать для загрузки каждого файла.","parameters":[],"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Параметры для загрузки файла","required":["Content-Disposition","acl","policy","x-amz-credential","x-amz-algorithm","x-amz-date","x-amz-signature","key","direct_url"],"properties":{"Content-Disposition":{"type":"string","description":"Используемый заголовок (в данном запросе — attachment)","example":"attachment"},"acl":{"type":"string","description":"Уровень безопасности (в данном запросе — private)","example":"private"},"policy":{"type":"string","description":"Уникальная policy для загрузки файла","example":"eyJloNBpcmF0aW9uIjoiMjAyPi0xMi0wOFQwNjo1NzozNFHusCJjb82kaXRpb25zIjpbeyJidWNrZXQiOiJwYWNoY2EtcHJhYy11cGxvYWRzOu0sWyJzdGFydHMtd3l4aCIsIiRrZXkiLCJhdHRhY8hlcy9maWxlcy1xODUyMSJdLHsiQ29udGVudC1EaXNwb3NpdGlvbiI6ImF0dGFjaG1lbnQifSx2ImFjbCI3InByaXZhdGUifSx7IngtYW16LWNyZWRlbnRpYWwi2iIxNDIxNTVfc3RhcGx4LzIwMjIxMTI0L2J1LTFhL5MzL1F2czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjytQVdTNC1ITUFDLVNIQTI1NiJ7LHsieC1hbXotZGF0ZSI6IjIwMjIxMTI0VDA2NTczNFoifV12"},"x-amz-credential":{"type":"string","description":"x-amz-credential для загрузки файла","example":"286471_server/20211122/kz-6x/s3/aws4_request"},"x-amz-algorithm":{"type":"string","description":"Используемый алгоритм (в данном запросе — AWS4-HMAC-SHA256)","example":"AWS4-HMAC-SHA256"},"x-amz-date":{"type":"string","description":"Уникальный x-amz-date для загрузки файла","example":"20211122T065734Z"},"x-amz-signature":{"type":"string","description":"Уникальная подпись для загрузки файла","example":"87e8f3ba4083c937c0e891d7a11tre932d8c33cg4bacf5380bf27624c1ok1475"},"key":{"type":"string","description":"Уникальный ключ для загрузки файла","example":"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/${filename}"},"direct_url":{"type":"string","description":"Адрес для загрузки файла","example":"https://api.pachca.com/api/v3/direct_upload"}},"$ref":"#/components/schemas/UploadParams"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"uploads:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Получение подписи, ключа и других параметров\n\n**Метод**: `POST`\n\n**Путь**: `/uploads`\n\n> **Скоуп:** `uploads:write`\n\nМетод для получения подписи, ключа и других параметров, необходимых для загрузки файла.\n\nДанный метод необходимо использовать для загрузки каждого файла.\n\n## Пример запроса\n\n```bash\ncurl -X POST \"https://api.pachca.com/api/shared/v1/uploads\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `Content-Disposition: string` (required) — Используемый заголовок (в данном запросе — attachment). Пример: `\"attachment\"`\n- `acl: string` (required) — Уровень безопасности (в данном запросе — private). Пример: `\"private\"`\n- `policy: string` (required) — Уникальная policy для загрузки файла. Пример: `\"eyJloNBpcmF0aW9uIjoiMjAyPi0xMi0wOFQwNjo1NzozNFHusCJjb82kaXRpb25zIjpbeyJidWNrZXQiOiJwYWNoY2EtcHJhYy11cGxvYWRzOu0sWyJzdGFydHMtd3l4aCIsIiRrZXkiLCJhdHRhY8hlcy9maWxlcy1xODUyMSJdLHsiQ29udGVudC1EaXNwb3NpdGlvbiI6ImF0dGFjaG1lbnQifSx2ImFjbCI3InByaXZhdGUifSx7IngtYW16LWNyZWRlbnRpYWwi2iIxNDIxNTVfc3RhcGx4LzIwMjIxMTI0L2J1LTFhL5MzL1F2czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjytQVdTNC1ITUFDLVNIQTI1NiJ7LHsieC1hbXotZGF0ZSI6IjIwMjIxMTI0VDA2NTczNFoifV12\"`\n- `x-amz-credential: string` (required) — x-amz-credential для загрузки файла. Пример: `\"286471_server/20211122/kz-6x/s3/aws4_request\"`\n- `x-amz-algorithm: string` (required) — Используемый алгоритм (в данном запросе — AWS4-HMAC-SHA256). Пример: `\"AWS4-HMAC-SHA256\"`\n- `x-amz-date: string` (required) — Уникальный x-amz-date для загрузки файла. Пример: `\"20211122T065734Z\"`\n- `x-amz-signature: string` (required) — Уникальная подпись для загрузки файла. Пример: `\"87e8f3ba4083c937c0e891d7a11tre932d8c33cg4bacf5380bf27624c1ok1475\"`\n- `key: string` (required) — Уникальный ключ для загрузки файла. Пример: `\"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/${filename}\"`\n- `direct_url: string` (required) — Адрес для загрузки файла. Пример: `\"https://api.pachca.com/api/v3/direct_upload\"`\n\n**Пример ответа:**\n\n```json\n{\n \"Content-Disposition\": \"attachment\",\n \"acl\": \"private\",\n \"policy\": \"eyJloNBpcmF0aW9uIjoiMjAyPi0xMi0wOFQwNjo1NzozNFHusCJjb82kaXRpb25zIjpbeyJidWNrZXQiOiJwYWNoY2EtcHJhYy11cGxvYWRzOu0sWyJzdGFydHMtd3l4aCIsIiRrZXkiLCJhdHRhY8hlcy9maWxlcy1xODUyMSJdLHsiQ29udGVudC1EaXNwb3NpdGlvbiI6ImF0dGFjaG1lbnQifSx2ImFjbCI3InByaXZhdGUifSx7IngtYW16LWNyZWRlbnRpYWwi2iIxNDIxNTVfc3RhcGx4LzIwMjIxMTI0L2J1LTFhL5MzL1F2czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjytQVdTNC1ITUFDLVNIQTI1NiJ7LHsieC1hbXotZGF0ZSI6IjIwMjIxMTI0VDA2NTczNFoifV12\",\n \"x-amz-credential\": \"286471_server/20211122/kz-6x/s3/aws4_request\",\n \"x-amz-algorithm\": \"AWS4-HMAC-SHA256\",\n \"x-amz-date\": \"20211122T065734Z\",\n \"x-amz-signature\": \"87e8f3ba4083c937c0e891d7a11tre932d8c33cg4bacf5380bf27624c1ok1475\",\n \"key\": \"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/${filename}\",\n \"direct_url\": \"https://api.pachca.com/api/v3/direct_upload\"\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"POST","path":"/users","summary":"Новый сотрудник","scope":"users:create","plan":null,"auth":true,"paginated":false,"command":"pachca users create","docLink":"https://dev.pachca.com/api/users/create","describe":"# POST /users — Новый сотрудник\n\n> **Скоуп:** `users:create`\n\n## Тело запроса\n\n- `user: object` (required)\n - `first_name: string` — Имя\n - `last_name: string` — Фамилия\n - `email: string` (required) — Электронная почта\n - `phone_number: string` — Телефон\n - `nickname: string` — Имя пользователя\n - `department: string` — Департамент\n - `title: string` — Должность\n - `role: string` — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (default: false) — Деактивация пользователя\n - `list_tags: array of string` — Массив тегов, привязываемых к сотруднику\n - `chat_ids: array of integer` — Идентификаторы чатов, в которые сотрудник будет добавлен сразу при создании. Для роли `guest` параметр обязателен и должен содержать ровно один активный чат.\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля\n - `value: string` (required) — Устанавливаемое значение\n- `skip_email_notify: boolean` (default: false) — Пропуск этапа отправки приглашения сотруднику. Сотруднику не будет отправлено письмо на электронную почту с приглашением создать аккаунт. Полезно при предварительном создании аккаунтов перед входом через SSO.\n\n## Эквивалентная команда\n\n```bash\npachca users create \\\n --first-name=Олег \\\n --last-name=Петров \\\n --email=olegp@example.com \\\n --phone-number=+79001234567 \\\n --nickname=olegpetrov \\\n --department=Продукт \\\n --title=CIO \\\n --role=user \\\n --list-tags=Product,Design \\\n --chat-ids=12345 \\\n --custom-properties='[{\"id\":1678,\"value\":\"Санкт-Петербург\"}]' \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/create\nПолная справка: `pachca api POST /users --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/users","description":"Новый сотрудник\n\nМетод для создания нового сотрудника в вашей компании.\n\nВы можете заполнять дополнительные поля сотрудника, которые созданы в вашей компании. Получить актуальный список идентификаторов дополнительных полей сотрудника вы можете в методе [Список дополнительных полей](GET /custom_properties).\n\nЧерез параметр `chat_ids` сотрудника можно сразу добавить в указанные чаты. Чтобы создать гостя, передайте `role: \"guest\"` — для этой роли `chat_ids` обязателен и должен содержать ровно один активный чат, в который у токена есть право добавлять участников. При нарушении правил гостевого доступа возвращается `400` с ошибкой по полю `chat_ids`.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание сотрудника","required":["user"],"properties":{"user":{"type":"object","required":["email"],"properties":{"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров"},"email":{"type":"string","description":"Электронная почта","example":"olegp@example.com"},"phone_number":{"type":"string","description":"Телефон","example":"+79001234567"},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"department":{"type":"string","description":"Департамент","example":"Продукт"},"title":{"type":"string","description":"Должность","example":"CIO"},"role":{"description":"Уровень доступа","example":"user","allOf":[{"type":"string","description":"Роль пользователя, допустимая при создании сотрудника. В отличие от редактирования, при создании можно назначить роль `guest` — в этом случае параметр `chat_ids` обязателен и должен содержать ровно один чат.","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserCreateRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","default":false,"example":false},"list_tags":{"type":"array","description":"Массив тегов, привязываемых к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"chat_ids":{"type":"array","description":"Идентификаторы чатов, в которые сотрудник будет добавлен сразу при создании. Для роли `guest` параметр обязателен и должен содержать ровно один активный чат.","example":[12345],"items":{"type":"integer","format":"int32"}},"custom_properties":{"type":"array","description":"Задаваемые дополнительные поля","items":{"type":"object","required":["id","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"value":{"type":"string","description":"Устанавливаемое значение","example":"Санкт-Петербург"}}}}}},"skip_email_notify":{"type":"boolean","description":"Пропуск этапа отправки приглашения сотруднику. Сотруднику не будет отправлено письмо на электронную почту с приглашением создать аккаунт. Полезно при предварительном создании аккаунтов перед входом через SSO.","default":false,"example":false}},"$ref":"#/components/schemas/UserCreateRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"users:create","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Новый сотрудник\n\n**Метод**: `POST`\n\n**Путь**: `/users`\n\n> **Скоуп:** `users:create`\n\nМетод для создания нового сотрудника в вашей компании.\n\nВы можете заполнять дополнительные поля сотрудника, которые созданы в вашей компании. Получить актуальный список идентификаторов дополнительных полей сотрудника вы можете в методе [Список дополнительных полей](GET /custom_properties).\n\nЧерез параметр `chat_ids` сотрудника можно сразу добавить в указанные чаты. Чтобы создать гостя, передайте `role: \"guest\"` — для этой роли `chat_ids` обязателен и должен содержать ровно один активный чат, в который у токена есть право добавлять участников. При нарушении правил гостевого доступа возвращается `400` с ошибкой по полю `chat_ids`.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `user: object` (required)\n - `first_name: string` — Имя. Пример: `\"Олег\"`\n - `last_name: string` — Фамилия. Пример: `\"Петров\"`\n - `email: string` (required) — Электронная почта. Пример: `\"olegp@example.com\"`\n - `phone_number: string` — Телефон. Пример: `\"+79001234567\"`\n - `nickname: string` — Имя пользователя. Пример: `\"olegpetrov\"`\n - `department: string` — Департамент. Пример: `\"Продукт\"`\n - `title: string` — Должность. Пример: `\"CIO\"`\n - `role: string` — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (default: false) — Деактивация пользователя. Пример: `false`\n - `list_tags: array of string` — Массив тегов, привязываемых к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `chat_ids: array of integer` — Идентификаторы чатов, в которые сотрудник будет добавлен сразу при создании. Для роли `guest` параметр обязателен и должен содержать ровно один активный чат.. Пример: `[12345]`\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `value: string` (required) — Устанавливаемое значение. Пример: `\"Санкт-Петербург\"`\n- `skip_email_notify: boolean` (default: false) — Пропуск этапа отправки приглашения сотруднику. Сотруднику не будет отправлено письмо на электронную почту с приглашением создать аккаунт. Полезно при предварительном создании аккаунтов перед входом через SSO.. Пример: `false`\n\n### Пример\n\n```json\n{\n \"user\": {\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"nickname\": \"olegpetrov\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"user\",\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"chat_ids\": [\n 12345\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/users\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"user\": {\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"nickname\": \"olegpetrov\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"user\",\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"chat_ids\": [\n 12345\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Сотрудник\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/users","summary":"Список сотрудников","scope":"users:read","plan":null,"auth":true,"paginated":true,"command":"pachca users list","docLink":"https://dev.pachca.com/api/users/list","describe":"# GET /users — Список сотрудников\n\n> **Скоуп:** `users:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `query` — query: Поисковая фраза для фильтрации результатов. Поиск работает по полям: `first_name` (имя), `last_name` (фамилия), `email` (электронная почта), `phone_number` (телефон) и `nickname` (никнейм).\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca users list \\\n --query=Олег \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/list\nПолная справка: `pachca api GET /users --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/users","description":"Список сотрудников\n\nМетод для получения актуального списка сотрудников вашей компании.","parameters":[{"name":"query","in":"query","description":"Поисковая фраза для фильтрации результатов. Поиск работает по полям: `first_name` (имя), `last_name` (фамилия), `email` (электронная почта), `phone_number` (телефон) и `nickname` (никнейм).","required":false,"schema":{"type":"string","example":"Олег"},"example":"Олег","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"users:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список сотрудников\n\n**Метод**: `GET`\n\n**Путь**: `/users`\n\n> **Скоуп:** `users:read`\n\nМетод для получения актуального списка сотрудников вашей компании.\n\n## Параметры\n\n### Query параметры\n\n- `query: string` — Поисковая фраза для фильтрации результатов. Поиск работает по полям: `first_name` (имя), `last_name` (фамилия), `email` (электронная почта), `phone_number` (телефон) и `nickname` (никнейм).\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/users?query=Олег&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/users/{id}","summary":"Информация о сотруднике","scope":"users:read","plan":null,"auth":true,"paginated":false,"command":"pachca users get","docLink":"https://dev.pachca.com/api/users/get","describe":"# GET /users/{id} — Информация о сотруднике\n\n> **Скоуп:** `users:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор пользователя\n\n## Эквивалентная команда\n\n```bash\npachca users get 12 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/get\nПолная справка: `pachca api GET /users/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/users/{id}","description":"Информация о сотруднике\n\nМетод для получения информации о сотруднике.\n\nДля получения сотрудника вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"users:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Информация о сотруднике\n\n**Метод**: `GET`\n\n**Путь**: `/users/{id}`\n\n> **Скоуп:** `users:read`\n\nМетод для получения информации о сотруднике.\n\nДля получения сотрудника вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/users/12\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Сотрудник\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/users/{id}","summary":"Редактирование сотрудника","scope":"users:update","plan":null,"auth":true,"paginated":false,"command":"pachca users update","docLink":"https://dev.pachca.com/api/users/update","describe":"# PUT /users/{id} — Редактирование сотрудника\n\n> **Скоуп:** `users:update`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор пользователя\n\n## Тело запроса\n\n- `user: object` (required) — Собранный объект параметров редактируемого сотрудника\n - `first_name: string` — Имя\n - `last_name: string` — Фамилия\n - `email: string` — Электронная почта\n - `phone_number: string` — Телефон\n - `nickname: string` — Имя пользователя\n - `department: string` — Департамент\n - `title: string` — Должность\n - `role: string` — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость\n - `suspended: boolean` (default: false) — Деактивация пользователя\n - `list_tags: array of string` — Массив тегов, привязываемых к сотруднику\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля\n - `value: string` (required) — Устанавливаемое значение\n\n## Эквивалентная команда\n\n```bash\npachca users update 12 \\\n --first-name=Олег \\\n --last-name=Петров \\\n --email=olegpetrov@example.com \\\n --phone-number=+79001234567 \\\n --nickname=olegpetrov \\\n --department=\"Отдел разработки\" \\\n --title=\"Старший разработчик\" \\\n --role=user \\\n --list-tags=Product \\\n --custom-properties='[{\"id\":1678,\"value\":\"Санкт-Петербург\"}]' \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/update\nПолная справка: `pachca api PUT /users/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/users/{id}","description":"Редактирование сотрудника\n\nМетод для редактирования сотрудника.\n\nДля редактирования сотрудника вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры сотрудника указываются в теле запроса. Получить актуальный список идентификаторов дополнительных полей сотрудника вы можете в методе [Список дополнительных полей](GET /custom_properties).","parameters":[{"name":"id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на редактирование сотрудника","required":["user"],"properties":{"user":{"type":"object","description":"Собранный объект параметров редактируемого сотрудника","properties":{"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров"},"email":{"type":"string","description":"Электронная почта","example":"olegpetrov@example.com"},"phone_number":{"type":"string","description":"Телефон","example":"+79001234567"},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"department":{"type":"string","description":"Департамент","example":"Отдел разработки"},"title":{"type":"string","description":"Должность","example":"Старший разработчик"},"role":{"description":"Уровень доступа","example":"user","allOf":[{"type":"string","description":"Роль пользователя, допустимая при редактировании сотрудника. Роль `guest` недоступна для установки через API при редактировании — назначить роль `guest` можно только при создании сотрудника (см. `UserCreateRole`).","enum":["admin","user","multi_guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость"},"$ref":"#/components/schemas/UserRoleInput"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","default":false,"example":false},"list_tags":{"type":"array","description":"Массив тегов, привязываемых к сотруднику","example":["Product"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Задаваемые дополнительные поля","items":{"type":"object","required":["id","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"value":{"type":"string","description":"Устанавливаемое значение","example":"Санкт-Петербург"}}}}}}},"$ref":"#/components/schemas/UserUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Сотрудник","required":["id","first_name","last_name","nickname","email","phone_number","department","title","role","suspended","invite_status","inviter_id","list_tags","custom_properties","user_status","bot","sso","created_at","last_activity_at","time_zone","image_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор пользователя","example":12},"first_name":{"type":"string","description":"Имя","example":"Олег"},"last_name":{"type":"string","description":"Фамилия","example":"Петров","nullable":true},"nickname":{"type":"string","description":"Имя пользователя","example":"olegpetrov"},"email":{"type":"string","description":"Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"olegp@example.com","nullable":true},"phone_number":{"type":"string","description":"Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.","example":"+79001234567","nullable":true},"department":{"type":"string","description":"Департамент","example":"Продукт","nullable":true},"title":{"type":"string","description":"Должность","example":"CIO","nullable":true},"role":{"description":"Уровень доступа","example":"admin","allOf":[{"type":"string","description":"Роль пользователя в системе","enum":["admin","user","multi_guest","guest"],"x-enum-descriptions":{"admin":"Администратор","user":"Сотрудник","multi_guest":"Мульти-гость","guest":"Гость"},"$ref":"#/components/schemas/UserRole"}]},"suspended":{"type":"boolean","description":"Деактивация пользователя","example":false},"invite_status":{"description":"Статус приглашения","example":"confirmed","allOf":[{"type":"string","description":"Статус приглашения пользователя","enum":["confirmed","sent"],"x-enum-descriptions":{"confirmed":"Принято","sent":"Отправлено"},"$ref":"#/components/schemas/InviteStatus"}]},"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.","example":185,"nullable":true},"list_tags":{"type":"array","description":"Массив тегов, привязанных к сотруднику","example":["Product","Design"],"items":{"type":"string"}},"custom_properties":{"type":"array","description":"Дополнительные поля сотрудника","items":{"type":"object","description":"Дополнительное поле","required":["id","name","data_type","value"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор поля","example":1678},"name":{"type":"string","description":"Название поля","example":"Город"},"data_type":{"description":"Тип поля","example":"string","allOf":[{"type":"string","description":"Тип данных дополнительного поля","enum":["string","number","date","link"],"x-enum-descriptions":{"string":"Строковое значение","number":"Числовое значение","date":"Дата","link":"Ссылка"},"$ref":"#/components/schemas/CustomPropertyDataType"}]},"value":{"type":"string","description":"Значение","example":"Санкт-Петербург"}},"$ref":"#/components/schemas/CustomProperty"}},"user_status":{"type":"object","description":"Статус","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]},"bot":{"type":"boolean","description":"Является ботом","example":false},"sso":{"type":"boolean","description":"Использует ли пользователь SSO","example":false},"created_at":{"type":"string","format":"date-time","description":"Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2020-06-08T09:32:57.000Z"},"last_activity_at":{"type":"string","format":"date-time","description":"Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-01-20T13:40:07.000Z","nullable":true},"time_zone":{"type":"string","description":"Часовой пояс пользователя","example":"Europe/Moscow","nullable":true},"image_url":{"type":"string","description":"Ссылка на скачивание аватарки пользователя","example":"https://app.pachca.com/users/12/photo.jpg","nullable":true}},"$ref":"#/components/schemas/User"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"users:update","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Редактирование сотрудника\n\n**Метод**: `PUT`\n\n**Путь**: `/users/{id}`\n\n> **Скоуп:** `users:update`\n\nМетод для редактирования сотрудника.\n\nДля редактирования сотрудника вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры сотрудника указываются в теле запроса. Получить актуальный список идентификаторов дополнительных полей сотрудника вы можете в методе [Список дополнительных полей](GET /custom_properties).\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `user: object` (required) — Собранный объект параметров редактируемого сотрудника\n - `first_name: string` — Имя. Пример: `\"Олег\"`\n - `last_name: string` — Фамилия. Пример: `\"Петров\"`\n - `email: string` — Электронная почта. Пример: `\"olegpetrov@example.com\"`\n - `phone_number: string` — Телефон. Пример: `\"+79001234567\"`\n - `nickname: string` — Имя пользователя. Пример: `\"olegpetrov\"`\n - `department: string` — Департамент. Пример: `\"Отдел разработки\"`\n - `title: string` — Должность. Пример: `\"Старший разработчик\"`\n - `role: string` — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость\n - `suspended: boolean` (default: false) — Деактивация пользователя. Пример: `false`\n - `list_tags: array of string` — Массив тегов, привязываемых к сотруднику. Пример: `[\"Product\"]`\n - `custom_properties: array of object` — Задаваемые дополнительные поля\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `value: string` (required) — Устанавливаемое значение. Пример: `\"Санкт-Петербург\"`\n\n### Пример\n\n```json\n{\n \"user\": {\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"email\": \"olegpetrov@example.com\",\n \"phone_number\": \"+79001234567\",\n \"nickname\": \"olegpetrov\",\n \"department\": \"Отдел разработки\",\n \"title\": \"Старший разработчик\",\n \"role\": \"user\",\n \"list_tags\": [\n \"Product\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/users/12\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"user\": {\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"email\": \"olegpetrov@example.com\",\n \"phone_number\": \"+79001234567\",\n \"nickname\": \"olegpetrov\",\n \"department\": \"Отдел разработки\",\n \"title\": \"Старший разработчик\",\n \"role\": \"user\",\n \"list_tags\": [\n \"Product\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"value\": \"Санкт-Петербург\"\n }\n ]\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Сотрудник\n - `id: integer, int32` (required) — Идентификатор пользователя. Пример: `12`\n - `first_name: string` (required) — Имя. Пример: `\"Олег\"`\n - `last_name: string` (required) — Фамилия. Пример: `\"Петров\"`\n - `nickname: string` (required) — Имя пользователя. Пример: `\"olegpetrov\"`\n - `email: string` (required) — Электронная почта. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"olegp@example.com\"`\n - `phone_number: string` (required) — Телефон. Возвращает `null` для ботов без права просмотра персональных данных, а также при запросе данных другого пользователя ботом, для которого скрыты персональные данные сотрудников.. Пример: `\"+79001234567\"`\n - `department: string` (required) — Департамент. Пример: `\"Продукт\"`\n - `title: string` (required) — Должность. Пример: `\"CIO\"`\n - `role: string` (required) — Уровень доступа\n Значения: `admin` — Администратор, `user` — Сотрудник, `multi_guest` — Мульти-гость, `guest` — Гость\n - `suspended: boolean` (required) — Деактивация пользователя. Пример: `false`\n - `invite_status: string` (required) — Статус приглашения\n Значения: `confirmed` — Принято, `sent` — Отправлено\n - `inviter_id: integer, int32` (required) — Идентификатор сотрудника, который пригласил данного сотрудника. Возвращает `null`, если сотрудник зарегистрировался самостоятельно или если пригласивший сотрудник был удалён.. Пример: `185`\n - `list_tags: array of string` (required) — Массив тегов, привязанных к сотруднику. Пример: `[\"Product\",\"Design\"]`\n - `custom_properties: array of object` (required) — Дополнительные поля сотрудника\n - `id: integer, int32` (required) — Идентификатор поля. Пример: `1678`\n - `name: string` (required) — Название поля. Пример: `\"Город\"`\n - `data_type: string` (required) — Тип поля\n Значения: `string` — Строковое значение, `number` — Числовое значение, `date` — Дата, `link` — Ссылка\n - `value: string` (required) — Значение. Пример: `\"Санкт-Петербург\"`\n - `user_status: object` (required) — Статус\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n - `bot: boolean` (required) — Является ботом. Пример: `false`\n - `sso: boolean` (required) — Использует ли пользователь SSO. Пример: `false`\n - `created_at: date-time` (required) — Дата создания (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2020-06-08T09:32:57.000Z\"`\n - `last_activity_at: date-time` (required) — Дата последней активности пользователя (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-01-20T13:40:07.000Z\"`\n - `time_zone: string` (required) — Часовой пояс пользователя. Пример: `\"Europe/Moscow\"`\n - `image_url: string` (required) — Ссылка на скачивание аватарки пользователя. Пример: `\"https://app.pachca.com/users/12/photo.jpg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 12,\n \"first_name\": \"Олег\",\n \"last_name\": \"Петров\",\n \"nickname\": \"olegpetrov\",\n \"email\": \"olegp@example.com\",\n \"phone_number\": \"+79001234567\",\n \"department\": \"Продукт\",\n \"title\": \"CIO\",\n \"role\": \"admin\",\n \"suspended\": false,\n \"invite_status\": \"confirmed\",\n \"inviter_id\": 185,\n \"list_tags\": [\n \"Product\",\n \"Design\"\n ],\n \"custom_properties\": [\n {\n \"id\": 1678,\n \"name\": \"Город\",\n \"data_type\": \"string\",\n \"value\": \"Санкт-Петербург\"\n }\n ],\n \"user_status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n },\n \"bot\": false,\n \"sso\": false,\n \"created_at\": \"2020-06-08T09:32:57.000Z\",\n \"last_activity_at\": \"2025-01-20T13:40:07.000Z\",\n \"time_zone\": \"Europe/Moscow\",\n \"image_url\": \"https://app.pachca.com/users/12/photo.jpg\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/users/{id}","summary":"Удаление сотрудника","scope":"users:delete","plan":null,"auth":true,"paginated":false,"command":"pachca users delete","docLink":"https://dev.pachca.com/api/users/delete","describe":"# DELETE /users/{id} — Удаление сотрудника\n\n> **Скоуп:** `users:delete`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор пользователя\n\n## Эквивалентная команда\n\n```bash\npachca users delete 12 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/delete\nПолная справка: `pachca api DELETE /users/{id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/users/{id}","description":"Удаление сотрудника\n\nМетод для удаления сотрудника.\n\nДля удаления сотрудника вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"users:delete","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Удаление сотрудника\n\n**Метод**: `DELETE`\n\n**Путь**: `/users/{id}`\n\n> **Скоуп:** `users:delete`\n\nМетод для удаления сотрудника.\n\nДля удаления сотрудника вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/users/12\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/users/{user_id}/avatar","summary":"Загрузка аватара сотрудника","scope":"user_avatar:write","plan":null,"auth":true,"paginated":false,"command":"pachca users update-avatar","docLink":"https://dev.pachca.com/api/users/update-avatar","describe":"# PUT /users/{user_id}/avatar — Загрузка аватара сотрудника\n\n> **Скоуп:** `user_avatar:write`\n\n## Параметры\n\n- `user_id` — путь (обязательный): Идентификатор пользователя\n\n## Тело запроса\n\n- `image: binary` (required) — Файл изображения для аватара\n\n## Эквивалентная команда\n\n```bash\npachca users update-avatar 12 \\\n --file=./image.jpg \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/update-avatar\nПолная справка: `pachca api PUT /users/{user_id}/avatar --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/users/{user_id}/avatar","description":"Загрузка аватара сотрудника\n\nМетод для загрузки или обновления аватара сотрудника. Файл передается в формате `multipart/form-data`.","parameters":[{"name":"user_id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["image"],"properties":{"image":{"type":"string","format":"binary","description":"Файл изображения для аватара"}}}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Данные аватара","required":["image_url"],"properties":{"image_url":{"type":"string","description":"URL аватара","example":"https://pachca-prod.s3.amazonaws.com/uploads/0001/0001/image.jpg"}},"$ref":"#/components/schemas/AvatarData"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"user_avatar:write","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Загрузка аватара сотрудника\n\n**Метод**: `PUT`\n\n**Путь**: `/users/{user_id}/avatar`\n\n> **Скоуп:** `user_avatar:write`\n\nМетод для загрузки или обновления аватара сотрудника. Файл передается в формате `multipart/form-data`.\n\n## Параметры\n\n### Path параметры\n\n- `user_id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `multipart/form-data`\n\n### Схема\n\n- `image: binary` (required) — Файл изображения для аватара\n\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/users/12/avatar\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -F \"image=@filename.png\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Данные аватара\n - `image_url: string` (required) — URL аватара. Пример: `\"https://pachca-prod.s3.amazonaws.com/uploads/0001/0001/image.jpg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"image_url\": \"https://pachca-prod.s3.amazonaws.com/uploads/0001/0001/image.jpg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **ApiError**: Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)\n - `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/users/{user_id}/avatar","summary":"Удаление аватара сотрудника","scope":"user_avatar:write","plan":null,"auth":true,"paginated":false,"command":"pachca users remove-avatar","docLink":"https://dev.pachca.com/api/users/remove-avatar","describe":"# DELETE /users/{user_id}/avatar — Удаление аватара сотрудника\n\n> **Скоуп:** `user_avatar:write`\n\n## Параметры\n\n- `user_id` — путь (обязательный): Идентификатор пользователя\n\n## Эквивалентная команда\n\n```bash\npachca users remove-avatar 12 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/remove-avatar\nПолная справка: `pachca api DELETE /users/{user_id}/avatar --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/users/{user_id}/avatar","description":"Удаление аватара сотрудника\n\nМетод для удаления аватара сотрудника.","parameters":[{"name":"user_id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"user_avatar:write","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Удаление аватара сотрудника\n\n**Метод**: `DELETE`\n\n**Путь**: `/users/{user_id}/avatar`\n\n> **Скоуп:** `user_avatar:write`\n\nМетод для удаления аватара сотрудника.\n\n## Параметры\n\n### Path параметры\n\n- `user_id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/users/12/avatar\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **ApiError**: Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)\n - `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/users/{user_id}/status","summary":"Статус сотрудника","scope":"user_status:read","plan":null,"auth":true,"paginated":false,"command":"pachca users get-status","docLink":"https://dev.pachca.com/api/users/get-status","describe":"# GET /users/{user_id}/status — Статус сотрудника\n\n> **Скоуп:** `user_status:read`\n\n## Параметры\n\n- `user_id` — путь (обязательный): Идентификатор пользователя\n\n## Эквивалентная команда\n\n```bash\npachca users get-status 12 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/get-status\nПолная справка: `pachca api GET /users/{user_id}/status --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/users/{user_id}/status","description":"Статус сотрудника\n\nМетод для получения информации о статусе сотрудника.","parameters":[{"name":"user_id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","nullable":true,"allOf":[{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}]}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"user_status:read","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Статус сотрудника\n\n**Метод**: `GET`\n\n**Путь**: `/users/{user_id}/status`\n\n> **Скоуп:** `user_status:read`\n\nМетод для получения информации о статусе сотрудника.\n\n## Параметры\n\n### Path параметры\n\n- `user_id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/users/12/status\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Статус пользователя\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/users/{user_id}/status","summary":"Новый статус сотрудника","scope":"user_status:write","plan":null,"auth":true,"paginated":false,"command":"pachca users update-status","docLink":"https://dev.pachca.com/api/users/update-status","describe":"# PUT /users/{user_id}/status — Новый статус сотрудника\n\n> **Скоуп:** `user_status:write`\n\n## Параметры\n\n- `user_id` — путь (обязательный): Идентификатор пользователя\n\n## Тело запроса\n\n- `status: object` (required)\n - `emoji: string` (required) — Emoji символ статуса\n - `title: string` (required) — Текст статуса\n - `expires_at: date-time` — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ\n - `is_away: boolean` — Режим «Нет на месте»\n - `away_message: string` (max length: 1024) — Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях.\n\n## Эквивалентная команда\n\n```bash\npachca users update-status 12 \\\n --emoji=🎮 \\\n --title=\"Очень занят\" \\\n --expires-at=2024-04-08T10:00:00.000Z \\\n --is-away \\\n --away-message=\"Вернусь после 15:00\" \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/update-status\nПолная справка: `pachca api PUT /users/{user_id}/status --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/users/{user_id}/status","description":"Новый статус сотрудника\n\nМетод для установки нового статуса сотруднику.","parameters":[{"name":"user_id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на установку статуса","required":["status"],"properties":{"status":{"type":"object","required":["emoji","title"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z"},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":true},"away_message":{"type":"string","description":"Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях.","example":"Вернусь после 15:00","maxLength":1024}}}},"$ref":"#/components/schemas/StatusUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Статус пользователя","required":["emoji","title","expires_at","is_away","away_message"],"properties":{"emoji":{"type":"string","description":"Emoji символ статуса","example":"🎮"},"title":{"type":"string","description":"Текст статуса","example":"Очень занят"},"expires_at":{"type":"string","format":"date-time","description":"Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-04-08T10:00:00.000Z","nullable":true},"is_away":{"type":"boolean","description":"Режим «Нет на месте»","example":false},"away_message":{"type":"object","description":"Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.","required":["text"],"nullable":true,"properties":{"text":{"type":"string","description":"Текст сообщения","example":"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov."}}}},"$ref":"#/components/schemas/UserStatus"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"user_status:write","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Новый статус сотрудника\n\n**Метод**: `PUT`\n\n**Путь**: `/users/{user_id}/status`\n\n> **Скоуп:** `user_status:write`\n\nМетод для установки нового статуса сотруднику.\n\n## Параметры\n\n### Path параметры\n\n- `user_id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `status: object` (required)\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` — Режим «Нет на месте». Пример: `true`\n - `away_message: string` (max length: 1024) — Текст сообщения при режиме «Нет на месте». Отображается в профиле и при личных сообщениях/упоминаниях.. Пример: `\"Вернусь после 15:00\"`\n\n### Пример\n\n```json\n{\n \"status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": true,\n \"away_message\": \"Вернусь после 15:00\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/users/12/status\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"status\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": true,\n \"away_message\": \"Вернусь после 15:00\"\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Статус пользователя\n - `emoji: string` (required) — Emoji символ статуса. Пример: `\"🎮\"`\n - `title: string` (required) — Текст статуса. Пример: `\"Очень занят\"`\n - `expires_at: date-time` (required) — Срок жизни статуса (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-04-08T10:00:00.000Z\"`\n - `is_away: boolean` (required) — Режим «Нет на месте». Пример: `false`\n - `away_message: object` (required) — Сообщение при режиме «Нет на месте». Отображается в профиле пользователя, а также при отправке ему личного сообщения или упоминании в чате.\n - `text: string` (required) — Текст сообщения. Пример: `\"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"emoji\": \"🎮\",\n \"title\": \"Очень занят\",\n \"expires_at\": \"2024-04-08T10:00:00.000Z\",\n \"is_away\": false,\n \"away_message\": {\n \"text\": \"Я в отпуске до 15 апреля. По срочным вопросам обращайтесь к @ivanov.\"\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/users/{user_id}/status","summary":"Удаление статуса сотрудника","scope":"user_status:write","plan":null,"auth":true,"paginated":false,"command":"pachca users remove-status","docLink":"https://dev.pachca.com/api/users/remove-status","describe":"# DELETE /users/{user_id}/status — Удаление статуса сотрудника\n\n> **Скоуп:** `user_status:write`\n\n## Параметры\n\n- `user_id` — путь (обязательный): Идентификатор пользователя\n\n## Эквивалентная команда\n\n```bash\npachca users remove-status 12 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/users/remove-status\nПолная справка: `pachca api DELETE /users/{user_id}/status --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/users/{user_id}/status","description":"Удаление статуса сотрудника\n\nМетод для удаления статуса сотрудника.","parameters":[{"name":"user_id","in":"path","description":"Идентификатор пользователя","required":true,"schema":{"type":"integer","format":"int32","example":12},"example":12}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"user_status:write","scopeRoles":["owner","admin"]},"paginated":false},"docs":"# Удаление статуса сотрудника\n\n**Метод**: `DELETE`\n\n**Путь**: `/users/{user_id}/status`\n\n> **Скоуп:** `user_status:write`\n\nМетод для удаления статуса сотрудника.\n\n## Параметры\n\n### Path параметры\n\n- `user_id: integer, int32` (required) — Идентификатор пользователя\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/users/12/status\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/views/open","summary":"Открытие представления","scope":"views:write","plan":null,"auth":true,"paginated":false,"command":"pachca views open","docLink":"https://dev.pachca.com/api/views/open","describe":"# POST /views/open — Открытие представления\n\n> **Скоуп:** `views:write`\n\n## Тело запроса\n\n- `type: string` (required) — Способ открытия представления\n Значения: `modal` — Модальное окно\n- `trigger_id: string` (required) — Уникальный идентификатор события (полученный, например, в исходящем вебхуке о нажатии кнопки)\n- `private_metadata: string` (max length: 3000) — Необязательная строка, которая будет отправлена в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для передачи в формате `JSON` какой то дополнительной информации вместе с заполненной пользователем формой.\n- `callback_id: string` (max length: 255) — Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь.\n- `view: object` (required) — Собранный объект представления\n - `title: string` (required, max length: 24) — Заголовок представления\n - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается.\n - `submit_text: string` (default: Отправить, max length: 24) — Текст кнопки отправки формы\n - `blocks: array (union)` (required, max items: 100) — Массив блоков представления\n **Возможные типы элементов:**\n\n - **ViewBlockHeader**: Блок header — заголовок\n - `type: string` (required) — Тип блока\n Значения: `header` — Для заголовков всегда header\n - `text: string` (required, max length: 150) — Текст заголовка\n - **ViewBlockPlainText**: Блок plain_text — обычный текст\n - `type: string` (required) — Тип блока\n Значения: `plain_text` — Для обычного текста всегда plain_text\n - `text: string` (required, max length: 12000) — Текст\n - **ViewBlockMarkdown**: Блок markdown — форматированный текст\n - `type: string` (required) — Тип блока\n Значения: `markdown` — Для форматированного текста всегда markdown\n - `text: string` (required, max length: 12000) — Текст\n - **ViewBlockDivider**: Блок divider — разделитель\n - `type: string` (required) — Тип блока\n Значения: `divider` — Для разделителя всегда divider\n - **ViewBlockInput**: Блок input — текстовое поле ввода\n - `type: string` (required) — Тип блока\n Значения: `input` — Для текстового поля всегда input\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `placeholder: string` (max length: 150) — Подсказка внутри поля ввода, пока оно пустое\n - `multiline: boolean` (default: false) — Многострочное поле\n - `initial_value: string` (max length: 3000) — Начальное значение в поле\n - `min_length: integer, int32` (min: 0, max: 3000) — Минимальная длина текста, который должен написать пользователь. Если пользователь напишет меньше, он получит ошибку.\n - `max_length: integer, int32` (min: 1, max: 3000) — Максимальная длина текста, который должен написать пользователь. Если пользователь напишет больше, он получит ошибку.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n - **ViewBlockSelect**: Блок select — выпадающий список\n - `type: string` (required) — Тип блока\n Значения: `select` — Для выпадающего списка всегда select\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора\n - `label: string` (required, max length: 150) — Подпись к выпадающему списку\n - `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке\n - `text: string` (required, max length: 75) — Отображаемый текст\n - `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта\n - `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом\n - **ViewBlockRadio**: Блок radio — радиокнопки\n - `type: string` (required) — Тип блока\n Значения: `radio` — Для радиокнопок всегда radio\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора\n - `label: string` (required, max length: 150) — Подпись к группе радиокнопок\n - `options: array of object` (max items: 10) — Массив радиокнопок\n - `text: string` (required, max length: 75) — Отображаемый текст\n - `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта\n - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом\n - `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под группой радиокнопок серым цветом\n - **ViewBlockCheckbox**: Блок checkbox — чекбоксы\n - `type: string` (required) — Тип блока\n Значения: `checkbox` — Для чекбоксов всегда checkbox\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора\n - `label: string` (required, max length: 150) — Подпись к группе чекбоксов\n - `options: array of object` (max items: 10) — Массив чекбоксов\n - `text: string` (required, max length: 75) — Отображаемый текст\n - `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта\n - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом\n - `checked: boolean` — Изначально выбранный пункт\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под группой чекбоксов серым цветом\n - **ViewBlockDate**: Блок date — выбор даты\n - `type: string` (required) — Тип блока\n Значения: `date` — Для выбора даты всегда date\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `initial_date: date` — Начальное значение в поле в формате YYYY-MM-DD\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n - **ViewBlockTime**: Блок time — выбор времени\n - `type: string` (required) — Тип блока\n Значения: `time` — Для выбора времени всегда time\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `initial_time: string, time` — Начальное значение в поле в формате HH:mm\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n - **ViewBlockFileInput**: Блок file_input — загрузка файлов\n - `type: string` (required) — Тип блока\n Значения: `file_input` — Для загрузки файлов всегда file_input\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `filetypes: array of string` — Массив допустимых расширений файлов, указанные в виде строк (например, [\"png\",\"jpg\",\"gif\"]). Если это поле не указано, все расширения файлов будут приняты.\n - `max_files: integer, int32` (default: 10, min: 1, max: 10) — Максимальное количество файлов, которое может загрузить пользователь в это поле.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n\n## Эквивалентная команда\n\n```bash\npachca views open \\\n --title=\"Уведомление об отпуске\" \\\n --close-text=Закрыть \\\n --submit-text=\"Отправить заявку\" \\\n --blocks='[{\"type\":\"header\",\"text\":\"Основная информация\"},{\"type\":\"plain_text\",\"text\":\"Заполните форму. После отправки формы в общий чат будет отправлено текстовое уведомление, а ваш отпуск будет сохранен в базе.\"},{\"type\":\"markdown\",\"text\":\"Информацию о доступных вам днях отпуска вы можете прочитать по [ссылке](https://www.website.com/timeoff)\"},{\"type\":\"divider\"},{\"type\":\"input\",\"name\":\"info\",\"label\":\"Описание отпуска\",\"placeholder\":\"Куда собираетесь и что будете делать\",\"multiline\":true,\"initial_value\":\"Начальный текст\",\"min_length\":10,\"max_length\":500,\"required\":true,\"hint\":\"Возможно вам подскаджут, какие места лучше посетить\"},{\"type\":\"select\",\"name\":\"team\",\"label\":\"Выберите команду\",\"options\":[{\"text\":\"Ничего\",\"value\":\"nothing\",\"selected\":true}],\"hint\":\"Выберите одну из команд\"},{\"type\":\"radio\",\"name\":\"accessibility\",\"label\":\"Доступность\",\"options\":[{\"text\":\"Ничего\",\"value\":\"nothing\",\"description\":\"Каждый день бот будет присылать список новых задач в вашей команде\",\"selected\":true}],\"required\":true,\"hint\":\"Если вы не планируете выходить на связь, то выберите вариант Ничего\"},{\"type\":\"checkbox\",\"name\":\"newsletters\",\"label\":\"Рассылки\",\"options\":[{\"text\":\"Ничего\",\"value\":\"nothing\",\"description\":\"Каждый день бот будет присылать список новых задач в вашей команде\",\"checked\":true}],\"hint\":\"Выберите интересующие вас рассылки\"},{\"type\":\"date\",\"name\":\"date_start\",\"label\":\"Дата начала отпуска\",\"initial_date\":\"2025-07-01\",\"required\":true,\"hint\":\"Укажите дату начала отпуска\"},{\"type\":\"time\",\"name\":\"newsletter_time\",\"label\":\"Время рассылки\",\"initial_time\":\"11:00\",\"hint\":\"Укажите, в какое время присылать выбранные рассылки\"},{\"type\":\"file_input\",\"name\":\"request_doc\",\"label\":\"Заявление\",\"filetypes\":[\"pdf\",\"jpg\",\"png\"],\"max_files\":1,\"required\":true,\"hint\":\"Загрузите заполненное заявление с электронной подписью (в формате pdf, jpg или png)\"}]' \\\n --type=modal \\\n --trigger-id=791a056b-006c-49dd-834b-c633fde52fe8 \\\n --private-metadata=\"{\"timeoff_id\":4378}\" \\\n --callback-id=timeoff_reguest_form \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/views/open\nПолная справка: `pachca api POST /views/open --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/views/open","description":"Открытие представления\n\nМетод для открытия модального окна с представлением для пользователя.\n\nЧтобы открыть модальное окно с представлением, ваше приложение должно иметь действительный, неистекший `trigger_id`.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Представление","required":["type","trigger_id","view"],"properties":{"type":{"type":"string","description":"Способ открытия представления","enum":["modal"],"x-enum-descriptions":{"modal":"Модальное окно"},"example":"modal"},"trigger_id":{"type":"string","description":"Уникальный идентификатор события (полученный, например, в исходящем вебхуке о нажатии кнопки)","example":"791a056b-006c-49dd-834b-c633fde52fe8"},"private_metadata":{"type":"string","description":"Необязательная строка, которая будет отправлена в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для передачи в формате `JSON` какой то дополнительной информации вместе с заполненной пользователем формой.","example":"{\"timeoff_id\":4378}","maxLength":3000},"callback_id":{"type":"string","description":"Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь.","example":"timeoff_reguest_form","maxLength":255},"view":{"type":"object","description":"Собранный объект представления","required":["title","blocks"],"properties":{"title":{"type":"string","description":"Заголовок представления","example":"Уведомление об отпуске","maxLength":24},"close_text":{"type":"string","description":"Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается.","default":"Отменить","example":"Закрыть","maxLength":24},"submit_text":{"type":"string","description":"Текст кнопки отправки формы","default":"Отправить","example":"Отправить заявку","maxLength":24},"blocks":{"type":"array","description":"Массив блоков представления","maxItems":100,"items":{"description":"Union-тип для всех возможных блоков представления","anyOf":[{"type":"object","description":"Блок header — заголовок","required":["type","text"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["header"],"x-enum-descriptions":{"header":"Для заголовков всегда header"},"example":"header"},"text":{"type":"string","description":"Текст заголовка","example":"Основная информация","maxLength":150}},"$ref":"#/components/schemas/ViewBlockHeader"},{"type":"object","description":"Блок plain_text — обычный текст","required":["type","text"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["plain_text"],"x-enum-descriptions":{"plain_text":"Для обычного текста всегда plain_text"},"example":"plain_text"},"text":{"type":"string","description":"Текст","example":"Заполните форму. После отправки формы в общий чат будет отправлено текстовое уведомление, а ваш отпуск будет сохранен в базе.","maxLength":12000}},"$ref":"#/components/schemas/ViewBlockPlainText"},{"type":"object","description":"Блок markdown — форматированный текст","required":["type","text"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["markdown"],"x-enum-descriptions":{"markdown":"Для форматированного текста всегда markdown"},"example":"markdown"},"text":{"type":"string","description":"Текст","example":"Информацию о доступных вам днях отпуска вы можете прочитать по [ссылке](https://www.website.com/timeoff)","maxLength":12000}},"$ref":"#/components/schemas/ViewBlockMarkdown"},{"type":"object","description":"Блок divider — разделитель","required":["type"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["divider"],"x-enum-descriptions":{"divider":"Для разделителя всегда divider"},"example":"divider"}},"$ref":"#/components/schemas/ViewBlockDivider"},{"type":"object","description":"Блок input — текстовое поле ввода","required":["type","name","label"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["input"],"x-enum-descriptions":{"input":"Для текстового поля всегда input"},"example":"input"},"name":{"type":"string","description":"Название, которое будет передано в ваше приложение как ключ указанного пользователем значения","example":"info","maxLength":255},"label":{"type":"string","description":"Подпись к полю","example":"Описание отпуска","maxLength":150},"placeholder":{"type":"string","description":"Подсказка внутри поля ввода, пока оно пустое","example":"Куда собираетесь и что будете делать","maxLength":150},"multiline":{"type":"boolean","description":"Многострочное поле","default":false,"example":true},"initial_value":{"type":"string","description":"Начальное значение в поле","example":"Начальный текст","maxLength":3000},"min_length":{"type":"integer","format":"int32","description":"Минимальная длина текста, который должен написать пользователь. Если пользователь напишет меньше, он получит ошибку.","example":10,"minimum":0,"maximum":3000},"max_length":{"type":"integer","format":"int32","description":"Максимальная длина текста, который должен написать пользователь. Если пользователь напишет больше, он получит ошибку.","example":500,"minimum":1,"maximum":3000},"required":{"type":"boolean","description":"Обязательность","default":false,"example":true},"hint":{"type":"string","description":"Подсказка, которая отображается под полем серым цветом","example":"Возможно вам подскаджут, какие места лучше посетить","maxLength":2000}},"$ref":"#/components/schemas/ViewBlockInput"},{"type":"object","description":"Блок select — выпадающий список","required":["type","name","label"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["select"],"x-enum-descriptions":{"select":"Для выпадающего списка всегда select"},"example":"select"},"name":{"type":"string","description":"Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора","example":"team","maxLength":255},"label":{"type":"string","description":"Подпись к выпадающему списку","example":"Выберите команду","maxLength":150},"options":{"type":"array","description":"Массив доступных пунктов в выпадающем списке","maxItems":100,"items":{"type":"object","description":"Пункт выпадающего списка (select). В отличие от radio/checkbox, у пункта select нет подзаголовка `description` — веб его не отображает.","required":["text","value"],"properties":{"text":{"type":"string","description":"Отображаемый текст","example":"Ничего","maxLength":75},"value":{"type":"string","description":"Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта","example":"nothing","maxLength":150},"selected":{"type":"boolean","description":"Изначально выбранный пункт. Только один пункт может быть выбран.","example":true}},"$ref":"#/components/schemas/ViewBlockSelectOption"}},"required":{"type":"boolean","description":"Обязательность","default":false,"example":false},"hint":{"type":"string","description":"Подсказка, которая отображается под выпадающим списком серым цветом","example":"Выберите одну из команд","maxLength":2000}},"$ref":"#/components/schemas/ViewBlockSelect"},{"type":"object","description":"Блок radio — радиокнопки","required":["type","name","label"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["radio"],"x-enum-descriptions":{"radio":"Для радиокнопок всегда radio"},"example":"radio"},"name":{"type":"string","description":"Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора","example":"accessibility","maxLength":255},"label":{"type":"string","description":"Подпись к группе радиокнопок","example":"Доступность","maxLength":150},"options":{"type":"array","description":"Массив радиокнопок","maxItems":10,"items":{"type":"object","description":"Опция для блоков select, radio и checkbox","required":["text","value"],"properties":{"text":{"type":"string","description":"Отображаемый текст","example":"Ничего","maxLength":75},"value":{"type":"string","description":"Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта","example":"nothing","maxLength":150},"description":{"type":"string","description":"Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом","example":"Каждый день бот будет присылать список новых задач в вашей команде","maxLength":75},"selected":{"type":"boolean","description":"Изначально выбранный пункт. Только один пункт может быть выбран.","example":true}},"$ref":"#/components/schemas/ViewBlockSelectableOption"}},"required":{"type":"boolean","description":"Обязательность","default":false,"example":true},"hint":{"type":"string","description":"Подсказка, которая отображается под группой радиокнопок серым цветом","example":"Если вы не планируете выходить на связь, то выберите вариант Ничего","maxLength":2000}},"$ref":"#/components/schemas/ViewBlockRadio"},{"type":"object","description":"Блок checkbox — чекбоксы","required":["type","name","label"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["checkbox"],"x-enum-descriptions":{"checkbox":"Для чекбоксов всегда checkbox"},"example":"checkbox"},"name":{"type":"string","description":"Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора","example":"newsletters","maxLength":255},"label":{"type":"string","description":"Подпись к группе чекбоксов","example":"Рассылки","maxLength":150},"options":{"type":"array","description":"Массив чекбоксов","maxItems":10,"items":{"type":"object","required":["text","value"],"properties":{"text":{"type":"string","description":"Отображаемый текст","example":"Ничего","maxLength":75},"value":{"type":"string","description":"Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта","example":"nothing","maxLength":150},"description":{"type":"string","description":"Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом","example":"Каждый день бот будет присылать список новых задач в вашей команде","maxLength":75},"checked":{"type":"boolean","description":"Изначально выбранный пункт","example":true}},"$ref":"#/components/schemas/ViewBlockCheckboxOption"}},"required":{"type":"boolean","description":"Обязательность","default":false,"example":false},"hint":{"type":"string","description":"Подсказка, которая отображается под группой чекбоксов серым цветом","example":"Выберите интересующие вас рассылки","maxLength":2000}},"$ref":"#/components/schemas/ViewBlockCheckbox"},{"type":"object","description":"Блок date — выбор даты","required":["type","name","label"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["date"],"x-enum-descriptions":{"date":"Для выбора даты всегда date"},"example":"date"},"name":{"type":"string","description":"Название, которое будет передано в ваше приложение как ключ указанного пользователем значения","example":"date_start","maxLength":255},"label":{"type":"string","description":"Подпись к полю","example":"Дата начала отпуска","maxLength":150},"initial_date":{"type":"string","format":"date","description":"Начальное значение в поле в формате YYYY-MM-DD","example":"2025-07-01"},"required":{"type":"boolean","description":"Обязательность","default":false,"example":true},"hint":{"type":"string","description":"Подсказка, которая отображается под полем серым цветом","example":"Укажите дату начала отпуска","maxLength":2000}},"$ref":"#/components/schemas/ViewBlockDate"},{"type":"object","description":"Блок time — выбор времени","required":["type","name","label"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["time"],"x-enum-descriptions":{"time":"Для выбора времени всегда time"},"example":"time"},"name":{"type":"string","description":"Название, которое будет передано в ваше приложение как ключ указанного пользователем значения","example":"newsletter_time","maxLength":255},"label":{"type":"string","description":"Подпись к полю","example":"Время рассылки","maxLength":150},"initial_time":{"type":"string","format":"time","description":"Начальное значение в поле в формате HH:mm","example":"11:00"},"required":{"type":"boolean","description":"Обязательность","default":false,"example":false},"hint":{"type":"string","description":"Подсказка, которая отображается под полем серым цветом","example":"Укажите, в какое время присылать выбранные рассылки","maxLength":2000}},"$ref":"#/components/schemas/ViewBlockTime"},{"type":"object","description":"Блок file_input — загрузка файлов","required":["type","name","label"],"properties":{"type":{"type":"string","description":"Тип блока","enum":["file_input"],"x-enum-descriptions":{"file_input":"Для загрузки файлов всегда file_input"},"example":"file_input"},"name":{"type":"string","description":"Название, которое будет передано в ваше приложение как ключ указанного пользователем значения","example":"request_doc","maxLength":255},"label":{"type":"string","description":"Подпись к полю","example":"Заявление","maxLength":150},"filetypes":{"type":"array","description":"Массив допустимых расширений файлов, указанные в виде строк (например, [\"png\",\"jpg\",\"gif\"]). Если это поле не указано, все расширения файлов будут приняты.","example":["pdf","jpg","png"],"items":{"type":"string"}},"max_files":{"type":"integer","format":"int32","description":"Максимальное количество файлов, которое может загрузить пользователь в это поле.","default":10,"example":1,"minimum":1,"maximum":10},"required":{"type":"boolean","description":"Обязательность","default":false,"example":true},"hint":{"type":"string","description":"Подсказка, которая отображается под полем серым цветом","example":"Загрузите заполненное заявление с электронной подписью (в формате pdf, jpg или png)","maxLength":2000}},"$ref":"#/components/schemas/ViewBlockFileInput"}],"$ref":"#/components/schemas/ViewBlockUnion"}}}}},"$ref":"#/components/schemas/OpenViewRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result."},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"410":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"views:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Открытие представления\n\n**Метод**: `POST`\n\n**Путь**: `/views/open`\n\n> **Скоуп:** `views:write`\n\nМетод для открытия модального окна с представлением для пользователя.\n\nЧтобы открыть модальное окно с представлением, ваше приложение должно иметь действительный, неистекший `trigger_id`.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `type: string` (required) — Способ открытия представления. Пример: `\"modal\"`\n Значения: `modal` — Модальное окно\n- `trigger_id: string` (required) — Уникальный идентификатор события (полученный, например, в исходящем вебхуке о нажатии кнопки). Пример: `\"791a056b-006c-49dd-834b-c633fde52fe8\"`\n- `private_metadata: string` (max length: 3000) — Необязательная строка, которая будет отправлена в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для передачи в формате `JSON` какой то дополнительной информации вместе с заполненной пользователем формой.. Пример: `\"{\"timeoff_id\":4378}\"`\n- `callback_id: string` (max length: 255) — Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь.. Пример: `\"timeoff_reguest_form\"`\n- `view: object` (required) — Собранный объект представления\n - `title: string` (required, max length: 24) — Заголовок представления. Пример: `\"Уведомление об отпуске\"`\n - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается.. Пример: `\"Закрыть\"`\n - `submit_text: string` (default: Отправить, max length: 24) — Текст кнопки отправки формы. Пример: `\"Отправить заявку\"`\n - `blocks: array (union)` (required, max items: 100) — Массив блоков представления\n **Возможные типы элементов:**\n\n - **ViewBlockHeader**: Блок header — заголовок\n - `type: string` (required) — Тип блока\n Значения: `header` — Для заголовков всегда header\n - `text: string` (required, max length: 150) — Текст заголовка\n - **ViewBlockPlainText**: Блок plain_text — обычный текст\n - `type: string` (required) — Тип блока\n Значения: `plain_text` — Для обычного текста всегда plain_text\n - `text: string` (required, max length: 12000) — Текст\n - **ViewBlockMarkdown**: Блок markdown — форматированный текст\n - `type: string` (required) — Тип блока\n Значения: `markdown` — Для форматированного текста всегда markdown\n - `text: string` (required, max length: 12000) — Текст\n - **ViewBlockDivider**: Блок divider — разделитель\n - `type: string` (required) — Тип блока\n Значения: `divider` — Для разделителя всегда divider\n - **ViewBlockInput**: Блок input — текстовое поле ввода\n - `type: string` (required) — Тип блока\n Значения: `input` — Для текстового поля всегда input\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `placeholder: string` (max length: 150) — Подсказка внутри поля ввода, пока оно пустое\n - `multiline: boolean` (default: false) — Многострочное поле\n - `initial_value: string` (max length: 3000) — Начальное значение в поле\n - `min_length: integer, int32` (min: 0, max: 3000) — Минимальная длина текста, который должен написать пользователь. Если пользователь напишет меньше, он получит ошибку.\n - `max_length: integer, int32` (min: 1, max: 3000) — Максимальная длина текста, который должен написать пользователь. Если пользователь напишет больше, он получит ошибку.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n - **ViewBlockSelect**: Блок select — выпадающий список\n - `type: string` (required) — Тип блока\n Значения: `select` — Для выпадающего списка всегда select\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора\n - `label: string` (required, max length: 150) — Подпись к выпадающему списку\n - `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке\n - `text: string` (required, max length: 75) — Отображаемый текст\n - `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта\n - `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом\n - **ViewBlockRadio**: Блок radio — радиокнопки\n - `type: string` (required) — Тип блока\n Значения: `radio` — Для радиокнопок всегда radio\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора\n - `label: string` (required, max length: 150) — Подпись к группе радиокнопок\n - `options: array of object` (max items: 10) — Массив радиокнопок\n - `text: string` (required, max length: 75) — Отображаемый текст\n - `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта\n - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом\n - `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под группой радиокнопок серым цветом\n - **ViewBlockCheckbox**: Блок checkbox — чекбоксы\n - `type: string` (required) — Тип блока\n Значения: `checkbox` — Для чекбоксов всегда checkbox\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем выбора\n - `label: string` (required, max length: 150) — Подпись к группе чекбоксов\n - `options: array of object` (max items: 10) — Массив чекбоксов\n - `text: string` (required, max length: 75) — Отображаемый текст\n - `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта\n - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом\n - `checked: boolean` — Изначально выбранный пункт\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под группой чекбоксов серым цветом\n - **ViewBlockDate**: Блок date — выбор даты\n - `type: string` (required) — Тип блока\n Значения: `date` — Для выбора даты всегда date\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `initial_date: date` — Начальное значение в поле в формате YYYY-MM-DD\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n - **ViewBlockTime**: Блок time — выбор времени\n - `type: string` (required) — Тип блока\n Значения: `time` — Для выбора времени всегда time\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `initial_time: string, time` — Начальное значение в поле в формате HH:mm\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n - **ViewBlockFileInput**: Блок file_input — загрузка файлов\n - `type: string` (required) — Тип блока\n Значения: `file_input` — Для загрузки файлов всегда file_input\n - `name: string` (required, max length: 255) — Название, которое будет передано в ваше приложение как ключ указанного пользователем значения\n - `label: string` (required, max length: 150) — Подпись к полю\n - `filetypes: array of string` — Массив допустимых расширений файлов, указанные в виде строк (например, [\"png\",\"jpg\",\"gif\"]). Если это поле не указано, все расширения файлов будут приняты.\n - `max_files: integer, int32` (default: 10, min: 1, max: 10) — Максимальное количество файлов, которое может загрузить пользователь в это поле.\n - `required: boolean` (default: false) — Обязательность\n - `hint: string` (max length: 2000) — Подсказка, которая отображается под полем серым цветом\n\n### Пример\n\n```json\n{\n \"type\": \"modal\",\n \"trigger_id\": \"791a056b-006c-49dd-834b-c633fde52fe8\",\n \"private_metadata\": \"{\\\"timeoff_id\\\":4378}\",\n \"callback_id\": \"timeoff_reguest_form\",\n \"view\": {\n \"title\": \"Уведомление об отпуске\",\n \"close_text\": \"Закрыть\",\n \"submit_text\": \"Отправить заявку\",\n \"blocks\": [\n {\n \"type\": \"header\",\n \"text\": \"Основная информация\"\n },\n {\n \"type\": \"plain_text\",\n \"text\": \"Заполните форму. После отправки формы в общий чат будет отправлено текстовое уведомление, а ваш отпуск будет сохранен в базе.\"\n },\n {\n \"type\": \"markdown\",\n \"text\": \"Информацию о доступных вам днях отпуска вы можете прочитать по [ссылке](https://www.website.com/timeoff)\"\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"input\",\n \"name\": \"info\",\n \"label\": \"Описание отпуска\",\n \"placeholder\": \"Куда собираетесь и что будете делать\",\n \"multiline\": true,\n \"initial_value\": \"Начальный текст\",\n \"min_length\": 10,\n \"max_length\": 500,\n \"required\": true,\n \"hint\": \"Возможно вам подскаджут, какие места лучше посетить\"\n },\n {\n \"type\": \"select\",\n \"name\": \"team\",\n \"label\": \"Выберите команду\",\n \"options\": [\n {\n \"text\": \"Ничего\",\n \"value\": \"nothing\",\n \"selected\": true\n }\n ],\n \"hint\": \"Выберите одну из команд\"\n },\n {\n \"type\": \"radio\",\n \"name\": \"accessibility\",\n \"label\": \"Доступность\",\n \"options\": [\n {\n \"text\": \"Ничего\",\n \"value\": \"nothing\",\n \"description\": \"Каждый день бот будет присылать список новых задач в вашей команде\",\n \"selected\": true\n }\n ],\n \"required\": true,\n \"hint\": \"Если вы не планируете выходить на связь, то выберите вариант Ничего\"\n },\n {\n \"type\": \"checkbox\",\n \"name\": \"newsletters\",\n \"label\": \"Рассылки\",\n \"options\": [\n {\n \"text\": \"Ничего\",\n \"value\": \"nothing\",\n \"description\": \"Каждый день бот будет присылать список новых задач в вашей команде\",\n \"checked\": true\n }\n ],\n \"hint\": \"Выберите интересующие вас рассылки\"\n },\n {\n \"type\": \"date\",\n \"name\": \"date_start\",\n \"label\": \"Дата начала отпуска\",\n \"initial_date\": \"2025-07-01\",\n \"required\": true,\n \"hint\": \"Укажите дату начала отпуска\"\n },\n {\n \"type\": \"time\",\n \"name\": \"newsletter_time\",\n \"label\": \"Время рассылки\",\n \"initial_time\": \"11:00\",\n \"hint\": \"Укажите, в какое время присылать выбранные рассылки\"\n },\n {\n \"type\": \"file_input\",\n \"name\": \"request_doc\",\n \"label\": \"Заявление\",\n \"filetypes\": [\n \"pdf\",\n \"jpg\",\n \"png\"\n ],\n \"max_files\": 1,\n \"required\": true,\n \"hint\": \"Загрузите заполненное заявление с электронной подписью (в формате pdf, jpg или png)\"\n }\n ]\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/views/open\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"type\": \"modal\",\n \"trigger_id\": \"791a056b-006c-49dd-834b-c633fde52fe8\",\n \"private_metadata\": \"{\\\"timeoff_id\\\":4378}\",\n \"callback_id\": \"timeoff_reguest_form\",\n \"view\": {\n \"title\": \"Уведомление об отпуске\",\n \"close_text\": \"Закрыть\",\n \"submit_text\": \"Отправить заявку\",\n \"blocks\": [\n {\n \"type\": \"header\",\n \"text\": \"Основная информация\"\n },\n {\n \"type\": \"plain_text\",\n \"text\": \"Заполните форму. После отправки формы в общий чат будет отправлено текстовое уведомление, а ваш отпуск будет сохранен в базе.\"\n },\n {\n \"type\": \"markdown\",\n \"text\": \"Информацию о доступных вам днях отпуска вы можете прочитать по [ссылке](https://www.website.com/timeoff)\"\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"input\",\n \"name\": \"info\",\n \"label\": \"Описание отпуска\",\n \"placeholder\": \"Куда собираетесь и что будете делать\",\n \"multiline\": true,\n \"initial_value\": \"Начальный текст\",\n \"min_length\": 10,\n \"max_length\": 500,\n \"required\": true,\n \"hint\": \"Возможно вам подскаджут, какие места лучше посетить\"\n },\n {\n \"type\": \"select\",\n \"name\": \"team\",\n \"label\": \"Выберите команду\",\n \"options\": [\n {\n \"text\": \"Ничего\",\n \"value\": \"nothing\",\n \"selected\": true\n }\n ],\n \"hint\": \"Выберите одну из команд\"\n },\n {\n \"type\": \"radio\",\n \"name\": \"accessibility\",\n \"label\": \"Доступность\",\n \"options\": [\n {\n \"text\": \"Ничего\",\n \"value\": \"nothing\",\n \"description\": \"Каждый день бот будет присылать список новых задач в вашей команде\",\n \"selected\": true\n }\n ],\n \"required\": true,\n \"hint\": \"Если вы не планируете выходить на связь, то выберите вариант Ничего\"\n },\n {\n \"type\": \"checkbox\",\n \"name\": \"newsletters\",\n \"label\": \"Рассылки\",\n \"options\": [\n {\n \"text\": \"Ничего\",\n \"value\": \"nothing\",\n \"description\": \"Каждый день бот будет присылать список новых задач в вашей команде\",\n \"checked\": true\n }\n ],\n \"hint\": \"Выберите интересующие вас рассылки\"\n },\n {\n \"type\": \"date\",\n \"name\": \"date_start\",\n \"label\": \"Дата начала отпуска\",\n \"initial_date\": \"2025-07-01\",\n \"required\": true,\n \"hint\": \"Укажите дату начала отпуска\"\n },\n {\n \"type\": \"time\",\n \"name\": \"newsletter_time\",\n \"label\": \"Время рассылки\",\n \"initial_time\": \"11:00\",\n \"hint\": \"Укажите, в какое время присылать выбранные рассылки\"\n },\n {\n \"type\": \"file_input\",\n \"name\": \"request_doc\",\n \"label\": \"Заявление\",\n \"filetypes\": [\n \"pdf\",\n \"jpg\",\n \"png\"\n ],\n \"max_files\": 1,\n \"required\": true,\n \"hint\": \"Загрузите заполненное заявление с электронной подписью (в формате pdf, jpg или png)\"\n }\n ]\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 410: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/webhooks/events","summary":"История событий","scope":"webhooks:events:read","plan":null,"auth":true,"paginated":true,"command":"pachca bots list-events","docLink":"https://dev.pachca.com/api/bots/list-events","describe":"# GET /webhooks/events — История событий\n\n> **Скоуп:** `webhooks:events:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca bots list-events \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/list-events\nПолная справка: `pachca api GET /webhooks/events --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/webhooks/events","description":"История событий\n\nМетод для получения истории последних событий бота. Данный метод будет полезен, если вы не можете получать события в реальном времени на ваш `URL`, но вам требуется обрабатывать все события, на которые вы подписались.\n\nИстория событий сохраняется только при активном пункте «Сохранять историю событий» во вкладке «Исходящий webhook» настроек бота. При этом указывать «Webhook `URL`» не требуется.\n\nДля получения истории событий конкретного бота вам необходимо знать его `access_token` и использовать его при запросе. Каждое событие представляет `JSON` объект вебхука.","parameters":[{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Событие исходящего вебхука","required":["id","event_type","payload","created_at"],"properties":{"id":{"type":"string","description":"Идентификатор события","example":"01KAJZ2XDSS2S3DSW9EXJZ0TBV"},"event_type":{"type":"string","description":"Тип события","example":"message_new"},"payload":{"description":"Объект вебхука","allOf":[{"description":"Объединение всех типов payload вебхуков","anyOf":[{"type":"object","description":"Структура исходящего вебхука о сообщении","required":["type","id","event","entity_type","entity_id","content","user_id","created_at","url","chat_id","webhook_timestamp"],"properties":{"type":{"type":"string","description":"Тип объекта","enum":["message"],"x-enum-descriptions":{"message":"Для сообщений всегда message"},"example":"message"},"id":{"type":"integer","format":"int32","description":"Идентификатор сообщения","example":1245817},"event":{"description":"Тип события","example":"new","allOf":[{"type":"string","description":"Тип события webhook","enum":["new","update","delete"],"x-enum-descriptions":{"new":"Создание","update":"Обновление","delete":"Удаление"},"$ref":"#/components/schemas/WebhookEventType"}]},"entity_type":{"description":"Тип сущности, к которой относится сообщение","example":"discussion","allOf":[{"type":"string","description":"Тип сущности для сообщений","enum":["discussion","thread","user"],"x-enum-descriptions":{"discussion":"Беседа или канал","thread":"Тред","user":"Пользователь"},"$ref":"#/components/schemas/MessageEntityType"}]},"entity_id":{"type":"integer","format":"int32","description":"Идентификатор сущности, к которой относится сообщение","example":5678},"content":{"type":"string","description":"Текст сообщения","example":"Текст сообщения"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор отправителя сообщения","example":2345},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-05-15T14:30:00.000Z"},"url":{"type":"string","description":"Прямая ссылка на сообщение","example":"https://pachca.com/chats/1245817/messages/5678"},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится сообщение","example":9012},"parent_message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому написан ответ","example":3456,"nullable":true},"thread":{"type":"object","description":"Объект с параметрами треда","nullable":true,"allOf":[{"type":"object","description":"Объект треда в вебхуке сообщения","required":["message_id","message_chat_id"],"properties":{"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому был создан тред","example":12345},"message_chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата сообщения, к которому был создан тред","example":67890}},"$ref":"#/components/schemas/WebhookMessageThread"}]},"webhook_timestamp":{"type":"integer","format":"int32","description":"Дата и время отправки вебхука (UTC+0) в формате UNIX","example":1747574400}},"$ref":"#/components/schemas/MessageWebhookPayload"},{"type":"object","description":"Структура исходящего вебхука о реакции","required":["type","event","chat_id","message_id","code","name","user_id","created_at","webhook_timestamp"],"properties":{"type":{"type":"string","description":"Тип объекта","enum":["reaction"],"x-enum-descriptions":{"reaction":"Для реакций всегда reaction"},"example":"reaction"},"event":{"description":"Тип события","example":"new","allOf":[{"type":"string","description":"Тип события webhook для реакций","enum":["new","delete"],"x-enum-descriptions":{"new":"Создание","delete":"Удаление"},"$ref":"#/components/schemas/ReactionEventType"}]},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором находится сообщение. Поле всегда присутствует в payload. В редких случаях (например, если сообщение было удалено к моменту отправки вебхука) может быть `null`.","example":9012,"nullable":true},"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому относится реакция","example":1245817},"code":{"type":"string","description":"Emoji символ реакции","example":"👍"},"name":{"type":"string","description":"Название реакции","example":"thumbsup"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, который добавил или удалил реакцию","example":2345},"created_at":{"type":"string","format":"date-time","description":"Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.","example":"2025-05-15T14:30:00.000Z"},"webhook_timestamp":{"type":"integer","format":"int32","description":"Дата и время отправки вебхука (UTC+0) в формате UNIX","example":1747574400}},"$ref":"#/components/schemas/ReactionWebhookPayload"},{"type":"object","description":"Структура исходящего вебхука о нажатии кнопки","required":["type","event","message_id","trigger_id","data","user_id","chat_id","webhook_timestamp"],"properties":{"type":{"type":"string","description":"Тип объекта","enum":["button"],"x-enum-descriptions":{"button":"Для кнопки всегда button"},"example":"button"},"event":{"type":"string","description":"Тип события","enum":["click"],"x-enum-descriptions":{"click":"Нажатие кнопки"},"example":"click"},"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, к которому относится кнопка","example":1245817},"trigger_id":{"type":"string","description":"Уникальный идентификатор события. Время жизни — 3 секунды. Может быть использован, например, для открытия представления пользователю","example":"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14"},"data":{"type":"string","description":"Данные нажатой кнопки","example":"button_data"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, который нажал кнопку","example":2345},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором была нажата кнопка","example":9012},"webhook_timestamp":{"type":"integer","format":"int32","description":"Дата и время отправки вебхука (UTC+0) в формате UNIX","example":1747574400}},"$ref":"#/components/schemas/ButtonWebhookPayload"},{"type":"object","description":"Структура исходящего вебхука о заполнении формы","required":["type","event","callback_id","private_metadata","chat_id","user_id","data","webhook_timestamp"],"properties":{"type":{"type":"string","description":"Тип объекта","enum":["view"],"x-enum-descriptions":{"view":"Для формы всегда view"},"example":"view"},"event":{"type":"string","description":"Тип события","enum":["submit"],"x-enum-descriptions":{"submit":"Отправка формы"},"example":"submit"},"callback_id":{"type":"string","description":"Идентификатор обратного вызова, указанный при открытии представления","example":"timeoff_request_form","nullable":true},"private_metadata":{"type":"string","description":"Приватные метаданные, указанные при открытии представления","example":"{'timeoff_id':4378}","nullable":true},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.","example":9012,"nullable":true},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, который отправил форму","example":1235523},"data":{"type":"object","description":"Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные","additionalProperties":{}},"webhook_timestamp":{"type":"integer","format":"int32","description":"Дата и время отправки вебхука (UTC+0) в формате UNIX","example":1755075544}},"$ref":"#/components/schemas/ViewSubmitWebhookPayload"},{"type":"object","description":"Структура исходящего вебхука об участниках чата","required":["type","event","chat_id","user_ids","created_at","webhook_timestamp"],"properties":{"type":{"type":"string","description":"Тип объекта","enum":["chat_member"],"x-enum-descriptions":{"chat_member":"Для участника чата всегда chat_member"},"example":"chat_member"},"event":{"description":"Тип события","example":"add","allOf":[{"type":"string","description":"Тип события webhook для участников","enum":["add","remove"],"x-enum-descriptions":{"add":"Добавление","remove":"Удаление"},"$ref":"#/components/schemas/MemberEventType"}]},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором изменился состав участников","example":9012},"thread_id":{"type":"integer","format":"int32","description":"Идентификатор треда","example":5678,"nullable":true},"user_ids":{"type":"array","description":"Массив идентификаторов пользователей, с которыми произошло событие","example":[2345,6789],"items":{"type":"integer","format":"int32"}},"created_at":{"type":"string","format":"date-time","description":"Дата и время события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-05-15T14:30:00.000Z"},"webhook_timestamp":{"type":"integer","format":"int32","description":"Дата и время отправки вебхука (UTC+0) в формате UNIX","example":1747574400}},"$ref":"#/components/schemas/ChatMemberWebhookPayload"},{"type":"object","description":"Структура исходящего вебхука об участниках пространства","required":["type","event","user_ids","created_at","webhook_timestamp"],"properties":{"type":{"type":"string","description":"Тип объекта","enum":["company_member"],"x-enum-descriptions":{"company_member":"Для участника пространства всегда company_member"},"example":"company_member"},"event":{"description":"Тип события","example":"invite","allOf":[{"type":"string","description":"Тип события webhook для пользователей","enum":["invite","confirm","update","suspend","activate","delete"],"x-enum-descriptions":{"invite":"Приглашение","confirm":"Подтверждение","update":"Обновление","suspend":"Приостановка","activate":"Активация","delete":"Удаление"},"$ref":"#/components/schemas/UserEventType"}]},"user_ids":{"type":"array","description":"Массив идентификаторов пользователей, с которыми произошло событие","example":[2345,6789],"items":{"type":"integer","format":"int32"}},"created_at":{"type":"string","format":"date-time","description":"Дата и время события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-05-15T14:30:00.000Z"},"webhook_timestamp":{"type":"integer","format":"int32","description":"Дата и время отправки вебхука (UTC+0) в формате UNIX","example":1747574400}},"$ref":"#/components/schemas/CompanyMemberWebhookPayload"},{"type":"object","description":"Структура исходящего вебхука о разворачивании ссылок","required":["type","event","chat_id","message_id","links","user_id","created_at","webhook_timestamp"],"properties":{"type":{"type":"string","description":"Тип объекта","enum":["message"],"x-enum-descriptions":{"message":"Для разворачивания ссылок всегда message"},"example":"message"},"event":{"type":"string","description":"Тип события","enum":["link_shared"],"x-enum-descriptions":{"link_shared":"Обнаружена ссылка на отслеживаемый домен"},"example":"link_shared"},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата, в котором обнаружена ссылка","example":23438},"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения, содержащего ссылку","example":268092},"links":{"type":"array","description":"Массив обнаруженных ссылок на отслеживаемые домены","items":{"type":"object","description":"Объект ссылки в вебхуке разворачивания ссылок","required":["url","domain","skip"],"properties":{"url":{"type":"string","description":"URL ссылки","example":"https://example.com/page1"},"domain":{"type":"string","description":"Домен ссылки","example":"example.com"},"skip":{"type":"boolean","description":"Признак того, что автор сообщения скрыл превью для этой ссылки. Если `true` — бот не должен создавать превью","example":false}},"$ref":"#/components/schemas/WebhookLink"}},"user_id":{"type":"integer","format":"int32","description":"Идентификатор отправителя сообщения","example":2345},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2024-09-18T19:53:14.000Z"},"webhook_timestamp":{"type":"integer","format":"int32","description":"Дата и время отправки вебхука (UTC+0) в формате UNIX","example":1726685594}},"$ref":"#/components/schemas/LinkSharedWebhookPayload"}],"$ref":"#/components/schemas/WebhookPayloadUnion"}]},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-05-15T14:30:00.000Z"}},"$ref":"#/components/schemas/WebhookEvent"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"webhooks:events:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# История событий\n\n**Метод**: `GET`\n\n**Путь**: `/webhooks/events`\n\n> **Скоуп:** `webhooks:events:read`\n\nМетод для получения истории последних событий бота. Данный метод будет полезен, если вы не можете получать события в реальном времени на ваш `URL`, но вам требуется обрабатывать все события, на которые вы подписались.\n\nИстория событий сохраняется только при активном пункте «Сохранять историю событий» во вкладке «Исходящий webhook» настроек бота. При этом указывать «Webhook `URL`» не требуется.\n\nДля получения истории событий конкретного бота вам необходимо знать его `access_token` и использовать его при запросе. Каждое событие представляет `JSON` объект вебхука.\n\n## Параметры\n\n### Query параметры\n\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/webhooks/events?limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: string` (required) — Идентификатор события. Пример: `\"01KAJZ2XDSS2S3DSW9EXJZ0TBV\"`\n - `event_type: string` (required) — Тип события. Пример: `\"message_new\"`\n - `payload: anyOf` (required) — Объект вебхука\n **Возможные варианты:**\n\n - **MessageWebhookPayload**: Структура исходящего вебхука о сообщении\n - `type: string` (required) — Тип объекта. Пример: `\"message\"`\n Значения: `message` — Для сообщений всегда message\n - `id: integer, int32` (required) — Идентификатор сообщения. Пример: `1245817`\n - `event: string` (required) — Тип события\n Значения: `new` — Создание, `update` — Обновление, `delete` — Удаление\n - `entity_type: string` (required) — Тип сущности, к которой относится сообщение\n Значения: `discussion` — Беседа или канал, `thread` — Тред, `user` — Пользователь\n - `entity_id: integer, int32` (required) — Идентификатор сущности, к которой относится сообщение. Пример: `5678`\n - `content: string` (required) — Текст сообщения. Пример: `\"Текст сообщения\"`\n - `user_id: integer, int32` (required) — Идентификатор отправителя сообщения. Пример: `2345`\n - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-05-15T14:30:00.000Z\"`\n - `url: string` (required) — Прямая ссылка на сообщение. Пример: `\"https://pachca.com/chats/1245817/messages/5678\"`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором находится сообщение. Пример: `9012`\n - `parent_message_id: integer, int32` — Идентификатор сообщения, к которому написан ответ. Пример: `3456`\n - `thread: object` — Объект с параметрами треда\n - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому был создан тред. Пример: `12345`\n - `message_chat_id: integer, int32` (required) — Идентификатор чата сообщения, к которому был создан тред. Пример: `67890`\n - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`\n - **ReactionWebhookPayload**: Структура исходящего вебхука о реакции\n - `type: string` (required) — Тип объекта. Пример: `\"reaction\"`\n Значения: `reaction` — Для реакций всегда reaction\n - `event: string` (required) — Тип события\n Значения: `new` — Создание, `delete` — Удаление\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором находится сообщение. Поле всегда присутствует в payload. В редких случаях (например, если сообщение было удалено к моменту отправки вебхука) может быть `null`.. Пример: `9012`\n - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому относится реакция. Пример: `1245817`\n - `code: string` (required) — Emoji символ реакции. Пример: `\"👍\"`\n - `name: string` (required) — Название реакции. Пример: `\"thumbsup\"`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил или удалил реакцию. Пример: `2345`\n - `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.. Пример: `\"2025-05-15T14:30:00.000Z\"`\n - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`\n - **ButtonWebhookPayload**: Структура исходящего вебхука о нажатии кнопки\n - `type: string` (required) — Тип объекта. Пример: `\"button\"`\n Значения: `button` — Для кнопки всегда button\n - `event: string` (required) — Тип события. Пример: `\"click\"`\n Значения: `click` — Нажатие кнопки\n - `message_id: integer, int32` (required) — Идентификатор сообщения, к которому относится кнопка. Пример: `1245817`\n - `trigger_id: string` (required) — Уникальный идентификатор события. Время жизни — 3 секунды. Может быть использован, например, для открытия представления пользователю. Пример: `\"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14\"`\n - `data: string` (required) — Данные нажатой кнопки. Пример: `\"button_data\"`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, который нажал кнопку. Пример: `2345`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка. Пример: `9012`\n - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`\n - **ViewSubmitWebhookPayload**: Структура исходящего вебхука о заполнении формы\n - `type: string` (required) — Тип объекта. Пример: `\"view\"`\n Значения: `view` — Для формы всегда view\n - `event: string` (required) — Тип события. Пример: `\"submit\"`\n Значения: `submit` — Отправка формы\n - `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `\"timeoff_request_form\"`\n - `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `\"{'timeoff_id':4378}\"`\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`\n - `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные\n **Структура значений Record:**\n - Тип значения: `any`\n - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`\n - **ChatMemberWebhookPayload**: Структура исходящего вебхука об участниках чата\n - `type: string` (required) — Тип объекта. Пример: `\"chat_member\"`\n Значения: `chat_member` — Для участника чата всегда chat_member\n - `event: string` (required) — Тип события\n Значения: `add` — Добавление, `remove` — Удаление\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором изменился состав участников. Пример: `9012`\n - `thread_id: integer, int32` — Идентификатор треда. Пример: `5678`\n - `user_ids: array of integer` (required) — Массив идентификаторов пользователей, с которыми произошло событие. Пример: `[2345,6789]`\n - `created_at: date-time` (required) — Дата и время события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-05-15T14:30:00.000Z\"`\n - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`\n - **CompanyMemberWebhookPayload**: Структура исходящего вебхука об участниках пространства\n - `type: string` (required) — Тип объекта. Пример: `\"company_member\"`\n Значения: `company_member` — Для участника пространства всегда company_member\n - `event: string` (required) — Тип события\n Значения: `invite` — Приглашение, `confirm` — Подтверждение, `update` — Обновление, `suspend` — Приостановка, `activate` — Активация, `delete` — Удаление\n - `user_ids: array of integer` (required) — Массив идентификаторов пользователей, с которыми произошло событие. Пример: `[2345,6789]`\n - `created_at: date-time` (required) — Дата и время события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-05-15T14:30:00.000Z\"`\n - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`\n - **LinkSharedWebhookPayload**: Структура исходящего вебхука о разворачивании ссылок\n - `type: string` (required) — Тип объекта. Пример: `\"message\"`\n Значения: `message` — Для разворачивания ссылок всегда message\n - `event: string` (required) — Тип события. Пример: `\"link_shared\"`\n Значения: `link_shared` — Обнаружена ссылка на отслеживаемый домен\n - `chat_id: integer, int32` (required) — Идентификатор чата, в котором обнаружена ссылка. Пример: `23438`\n - `message_id: integer, int32` (required) — Идентификатор сообщения, содержащего ссылку. Пример: `268092`\n - `links: array of object` (required) — Массив обнаруженных ссылок на отслеживаемые домены\n - `url: string` (required) — URL ссылки. Пример: `\"https://example.com/page1\"`\n - `domain: string` (required) — Домен ссылки. Пример: `\"example.com\"`\n - `skip: boolean` (required) — Признак того, что автор сообщения скрыл превью для этой ссылки. Если `true` — бот не должен создавать превью. Пример: `false`\n - `user_id: integer, int32` (required) — Идентификатор отправителя сообщения. Пример: `2345`\n - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2024-09-18T19:53:14.000Z\"`\n - `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1726685594`\n - `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-05-15T14:30:00.000Z\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": \"01KAJZ2XDSS2S3DSW9EXJZ0TBV\",\n \"event_type\": \"message_new\",\n \"payload\": {\n \"type\": \"message\",\n \"id\": 1245817,\n \"event\": \"new\",\n \"entity_type\": \"discussion\",\n \"entity_id\": 5678,\n \"content\": \"Текст сообщения\",\n \"user_id\": 2345,\n \"created_at\": \"2025-05-15T14:30:00.000Z\",\n \"url\": \"https://pachca.com/chats/1245817/messages/5678\",\n \"chat_id\": 9012,\n \"parent_message_id\": 3456,\n \"thread\": {\n \"message_id\": 12345,\n \"message_chat_id\": 67890\n },\n \"webhook_timestamp\": 1747574400\n },\n \"created_at\": \"2025-05-15T14:30:00.000Z\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/webhooks/events/{id}","summary":"Удаление события","scope":"webhooks:events:delete","plan":null,"auth":true,"paginated":false,"command":"pachca bots remove-event","docLink":"https://dev.pachca.com/api/bots/remove-event","describe":"# DELETE /webhooks/events/{id} — Удаление события\n\n> **Скоуп:** `webhooks:events:delete`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор события\n\n## Эквивалентная команда\n\n```bash\npachca bots remove-event 01KAJZ2XDSS2S3DSW9EXJZ0TBV \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/remove-event\nПолная справка: `pachca api DELETE /webhooks/events/{id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/webhooks/events/{id}","description":"Удаление события\n\nДанный метод доступен для работы только с `access_token` бота\n\nМетод для удаления события из истории событий бота.\n\nДля удаления события вам необходимо знать `access_token` бота, которому принадлежит событие, и `id` события.","parameters":[{"name":"id","in":"path","description":"Идентификатор события","required":true,"schema":{"type":"string","example":"01KAJZ2XDSS2S3DSW9EXJZ0TBV"},"example":"01KAJZ2XDSS2S3DSW9EXJZ0TBV"}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"webhooks:events:delete","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Удаление события\n\n**Метод**: `DELETE`\n\n**Путь**: `/webhooks/events/{id}`\n\n> **Скоуп:** `webhooks:events:delete`\n\nДанный метод доступен для работы только с `access_token` бота\n\nМетод для удаления события из истории событий бота.\n\nДля удаления события вам необходимо знать `access_token` бота, которому принадлежит событие, и `id` события.\n\n## Параметры\n\n### Path параметры\n\n- `id: string` (required) — Идентификатор события\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/webhooks/events/01KAJZ2XDSS2S3DSW9EXJZ0TBV\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"}]
\ No newline at end of file
+[{"method":"GET","path":"/audit_events","summary":"Журнал аудита событий","scope":"audit_events:read","plan":"corporation","auth":true,"paginated":true,"command":"pachca security list","docLink":"https://dev.pachca.com/api/security/list","describe":"# GET /audit_events — Журнал аудита событий\n\n> **Скоуп:** `audit_events:read`\n\n> **Тариф:** Корпорация\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `start_time` — query: Начальная метка времени (включительно)\n- `end_time` — query: Конечная метка времени (исключительно)\n- `event_key` — query: Фильтр по конкретному типу события\n- `actor_id` — query: Идентификатор пользователя, выполнившего действие\n- `actor_type` — query: Тип актора\n- `entity_id` — query: Идентификатор затронутой сущности\n- `entity_type` — query: Тип сущности\n- `limit` — query: Количество записей для возврата\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca security list \\\n --start-time=2025-05-01T09:11:00Z \\\n --end-time=2025-05-02T09:11:00Z \\\n --event-key=user_login \\\n --actor-id=98765 \\\n --actor-type=User \\\n --entity-id=98765 \\\n --entity-type=User \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/security/list\nПолная справка: `pachca api GET /audit_events --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/audit_events","description":"Журнал аудита событий\n\nМетод для получения логов событий на основе указанных фильтров.","parameters":[{"name":"start_time","in":"query","description":"Начальная метка времени (включительно)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-05-01T09:11:00Z"},"example":"2025-05-01T09:11:00Z","explode":false},{"name":"end_time","in":"query","description":"Конечная метка времени (исключительно)","required":false,"schema":{"type":"string","format":"date-time","example":"2025-05-02T09:11:00Z"},"example":"2025-05-02T09:11:00Z","explode":false},{"name":"event_key","in":"query","description":"Фильтр по конкретному типу события","required":false,"schema":{"type":"string","description":"Тип аудит-события","enum":["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated","bot_deleted"],"x-enum-descriptions":{"user_login":"Пользователь успешно вошел в систему","user_logout":"Пользователь вышел из системы","user_2fa_fail":"Неудачная попытка двухфакторной аутентификации","user_2fa_success":"Успешная двухфакторная аутентификация","user_created":"Создана новая учетная запись пользователя","user_deleted":"Учетная запись пользователя удалена","user_role_changed":"Роль пользователя была изменена","user_updated":"Данные пользователя обновлены","tag_created":"Создан новый тег","tag_deleted":"Тег удален","user_added_to_tag":"Пользователь добавлен в тег","user_removed_from_tag":"Пользователь удален из тега","chat_created":"Создан новый чат","chat_renamed":"Чат переименован","chat_permission_changed":"Изменены права доступа к чату","user_chat_join":"Пользователь присоединился к чату","user_chat_leave":"Пользователь покинул чат","tag_added_to_chat":"Тег добавлен в чат","tag_removed_from_chat":"Тег удален из чата","message_updated":"Сообщение отредактировано","message_deleted":"Сообщение удалено","message_created":"Сообщение создано","reaction_created":"Реакция добавлена","reaction_deleted":"Реакция удалена","thread_created":"Тред создан","access_token_created":"Создан новый токен доступа","access_token_updated":"Токен доступа обновлен","access_token_destroy":"Токен доступа удален","kms_encrypt":"Данные зашифрованы","kms_decrypt":"Данные расшифрованы","audit_events_accessed":"Доступ к журналам аудита получен","dlp_violation_detected":"Срабатывание правила DLP-системы","search_users_api":"Поиск сотрудников через API","search_chats_api":"Поиск чатов через API","search_messages_api":"Поиск сообщений через API","bot_scopes_updated":"Изменены скоупы токена бота","bot_webhook_settings_updated":"Изменены настройки исходящего вебхука бота","bot_token_recreated":"Токен бота перевыпущен (ротация)","bot_deleted":"Бот удалён"},"example":"user_login","$ref":"#/components/schemas/AuditEventKey"},"example":"user_login","explode":false},{"name":"actor_id","in":"query","description":"Идентификатор пользователя, выполнившего действие","required":false,"schema":{"type":"string","example":"98765"},"example":"98765","explode":false},{"name":"actor_type","in":"query","description":"Тип актора","required":false,"schema":{"type":"string","example":"User"},"example":"User","explode":false},{"name":"entity_id","in":"query","description":"Идентификатор затронутой сущности","required":false,"schema":{"type":"string","example":"98765"},"example":"98765","explode":false},{"name":"entity_type","in":"query","description":"Тип сущности","required":false,"schema":{"type":"string","example":"User"},"example":"User","explode":false},{"name":"limit","in":"query","description":"Количество записей для возврата","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Событие аудита","required":["id","created_at","event_key","entity_id","entity_type","actor_id","actor_type","details","ip_address","user_agent"],"properties":{"id":{"type":"string","description":"Уникальный идентификатор события","example":"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2025-05-15T14:30:00.000Z"},"event_key":{"description":"Ключ типа события","example":"user_login","allOf":[{"type":"string","description":"Тип аудит-события","enum":["user_login","user_logout","user_2fa_fail","user_2fa_success","user_created","user_deleted","user_role_changed","user_updated","tag_created","tag_deleted","user_added_to_tag","user_removed_from_tag","chat_created","chat_renamed","chat_permission_changed","user_chat_join","user_chat_leave","tag_added_to_chat","tag_removed_from_chat","message_updated","message_deleted","message_created","reaction_created","reaction_deleted","thread_created","access_token_created","access_token_updated","access_token_destroy","kms_encrypt","kms_decrypt","audit_events_accessed","dlp_violation_detected","search_users_api","search_chats_api","search_messages_api","bot_scopes_updated","bot_webhook_settings_updated","bot_token_recreated","bot_deleted"],"x-enum-descriptions":{"user_login":"Пользователь успешно вошел в систему","user_logout":"Пользователь вышел из системы","user_2fa_fail":"Неудачная попытка двухфакторной аутентификации","user_2fa_success":"Успешная двухфакторная аутентификация","user_created":"Создана новая учетная запись пользователя","user_deleted":"Учетная запись пользователя удалена","user_role_changed":"Роль пользователя была изменена","user_updated":"Данные пользователя обновлены","tag_created":"Создан новый тег","tag_deleted":"Тег удален","user_added_to_tag":"Пользователь добавлен в тег","user_removed_from_tag":"Пользователь удален из тега","chat_created":"Создан новый чат","chat_renamed":"Чат переименован","chat_permission_changed":"Изменены права доступа к чату","user_chat_join":"Пользователь присоединился к чату","user_chat_leave":"Пользователь покинул чат","tag_added_to_chat":"Тег добавлен в чат","tag_removed_from_chat":"Тег удален из чата","message_updated":"Сообщение отредактировано","message_deleted":"Сообщение удалено","message_created":"Сообщение создано","reaction_created":"Реакция добавлена","reaction_deleted":"Реакция удалена","thread_created":"Тред создан","access_token_created":"Создан новый токен доступа","access_token_updated":"Токен доступа обновлен","access_token_destroy":"Токен доступа удален","kms_encrypt":"Данные зашифрованы","kms_decrypt":"Данные расшифрованы","audit_events_accessed":"Доступ к журналам аудита получен","dlp_violation_detected":"Срабатывание правила DLP-системы","search_users_api":"Поиск сотрудников через API","search_chats_api":"Поиск чатов через API","search_messages_api":"Поиск сообщений через API","bot_scopes_updated":"Изменены скоупы токена бота","bot_webhook_settings_updated":"Изменены настройки исходящего вебхука бота","bot_token_recreated":"Токен бота перевыпущен (ротация)","bot_deleted":"Бот удалён"},"$ref":"#/components/schemas/AuditEventKey"}]},"entity_id":{"type":"string","description":"Идентификатор затронутой сущности","example":"98765"},"entity_type":{"type":"string","description":"Тип затронутой сущности","example":"User"},"actor_id":{"type":"string","description":"Идентификатор пользователя, выполнившего действие","example":"98765"},"actor_type":{"type":"string","description":"Тип актора","example":"User"},"details":{"description":"Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект","allOf":[{"description":"Дополнительные детали события аудита. Структура зависит от значения event_key","anyOf":[{"type":"object","description":"Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated, bot_deleted","$ref":"#/components/schemas/AuditDetailsEmpty"},{"type":"object","description":"При: user_updated","required":["changed_attrs"],"properties":{"changed_attrs":{"type":"array","description":"Список изменённых полей","items":{"type":"string"}}},"$ref":"#/components/schemas/AuditDetailsUserUpdated"},{"type":"object","description":"При: user_role_changed","required":["new_company_role","previous_company_role","initiator_id"],"properties":{"new_company_role":{"type":"string","description":"Новая роль"},"previous_company_role":{"type":"string","description":"Предыдущая роль"},"initiator_id":{"type":"integer","format":"int32","description":"Идентификатор инициатора"}},"$ref":"#/components/schemas/AuditDetailsRoleChanged"},{"type":"object","description":"При: tag_created, tag_deleted","required":["name"],"properties":{"name":{"type":"string","description":"Название тега"}},"$ref":"#/components/schemas/AuditDetailsTagName"},{"type":"object","description":"При: user_added_to_tag, user_removed_from_tag, user_chat_leave","required":["initiator_id"],"properties":{"initiator_id":{"type":"integer","format":"int32","description":"Идентификатор инициатора действия"}},"$ref":"#/components/schemas/AuditDetailsInitiator"},{"type":"object","description":"При: user_chat_join","required":["inviter_id"],"properties":{"inviter_id":{"type":"integer","format":"int32","description":"Идентификатор пригласившего"}},"$ref":"#/components/schemas/AuditDetailsInviter"},{"type":"object","description":"При: chat_renamed","required":["old_name","new_name"],"properties":{"old_name":{"type":"string","description":"Прежнее название чата"},"new_name":{"type":"string","description":"Новое название чата"}},"$ref":"#/components/schemas/AuditDetailsChatRenamed"},{"type":"object","description":"При: chat_permission_changed","required":["public_access"],"properties":{"public_access":{"type":"boolean","description":"Публичный доступ"}},"$ref":"#/components/schemas/AuditDetailsChatPermission"},{"type":"object","description":"При: tag_added_to_chat","required":["chat_id","tag_name"],"properties":{"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"},"tag_name":{"type":"string","description":"Название тега"}},"$ref":"#/components/schemas/AuditDetailsTagChat"},{"type":"object","description":"При: tag_removed_from_chat","required":["chat_id"],"properties":{"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"}},"$ref":"#/components/schemas/AuditDetailsChatId"},{"type":"object","description":"При: access_token_created, access_token_updated, access_token_destroy","required":["scopes"],"properties":{"scopes":{"type":"array","description":"Скоупы токена","items":{"type":"string"}}},"$ref":"#/components/schemas/AuditDetailsTokenScopes"},{"type":"object","description":"При: kms_encrypt, kms_decrypt","required":["chat_id","message_id","reason"],"properties":{"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"},"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения"},"reason":{"type":"string","description":"Причина операции"}},"$ref":"#/components/schemas/AuditDetailsKms"},{"type":"object","description":"При: dlp_violation_detected","required":["dlp_rule_id","dlp_rule_name","message_id","chat_id","user_id","action_message","conditions_matched"],"properties":{"dlp_rule_id":{"type":"integer","format":"int32","description":"Идентификатор правила DLP"},"dlp_rule_name":{"type":"string","description":"Название правила DLP"},"message_id":{"type":"integer","format":"int32","description":"Идентификатор сообщения"},"chat_id":{"type":"integer","format":"int32","description":"Идентификатор чата"},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя"},"action_message":{"type":"string","description":"Описание действия. `null`, если у действия правила текст не задан.","nullable":true},"conditions_matched":{"type":"boolean","description":"Результат проверки условий правила (true — условия сработали)"}},"$ref":"#/components/schemas/AuditDetailsDlp"},{"type":"object","description":"При: search_users_api, search_chats_api, search_messages_api","required":["search_type","query_present","cursor_present","limit","filters"],"properties":{"search_type":{"type":"string","description":"Тип поиска"},"query_present":{"type":"boolean","description":"Указан ли поисковый запрос"},"cursor_present":{"type":"boolean","description":"Использован ли курсор"},"limit":{"type":"integer","format":"int32","description":"Количество возвращённых результатов"},"filters":{"type":"object","description":"Применённые фильтры. Возможные ключи зависят от типа поиска: order, sort, created_from, created_to, company_roles (users), active, chat_subtype, personal (chats), chat_ids, user_ids (messages)","additionalProperties":{}}},"$ref":"#/components/schemas/AuditDetailsSearch"},{"type":"object","description":"При: bot_scopes_updated","required":["added_scopes","removed_scopes"],"properties":{"added_scopes":{"type":"array","description":"Скоупы, добавленные токену бота","items":{"type":"string"}},"removed_scopes":{"type":"array","description":"Скоупы, отозванные у токена бота","items":{"type":"string"}}},"$ref":"#/components/schemas/AuditDetailsBotScopes"},{"type":"object","description":"При: bot_webhook_settings_updated","required":["changes"],"properties":{"changes":{"type":"object","description":"Изменённые настройки вебхука. Ключ — имя настройки (outgoing_url, ignore_self_messages, events_history_enabled), значение — объект с полями previous (прежнее значение) и new (новое значение)","additionalProperties":{}}},"$ref":"#/components/schemas/AuditDetailsBotWebhookSettings"}],"$ref":"#/components/schemas/AuditEventDetailsUnion"}]},"ip_address":{"type":"string","description":"IP-адрес, с которого было выполнено действие","example":"192.168.1.100"},"user_agent":{"type":"string","description":"User agent клиента","example":"Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0"}},"$ref":"#/components/schemas/AuditEvent"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"audit_events:read","plan":"corporation","scopeRoles":["owner"]},"paginated":true},"docs":"# Журнал аудита событий\n\n**Метод**: `GET`\n\n**Путь**: `/audit_events`\n\n> **Скоуп:** `audit_events:read`\n\n> **Внимание:** Доступно только на тарифе **Корпорация**\n\nМетод для получения логов событий на основе указанных фильтров.\n\n## Параметры\n\n### Query параметры\n\n- `start_time: date-time` — Начальная метка времени (включительно)\n- `end_time: date-time` — Конечная метка времени (исключительно)\n- `event_key: string` — Фильтр по конкретному типу события\n Значения: `user_login`, `user_logout`, `user_2fa_fail`, `user_2fa_success`, `user_created`, `user_deleted`, `user_role_changed`, `user_updated`, `tag_created`, `tag_deleted`, `user_added_to_tag`, `user_removed_from_tag`, `chat_created`, `chat_renamed`, `chat_permission_changed`, `user_chat_join`, `user_chat_leave`, `tag_added_to_chat`, `tag_removed_from_chat`, `message_updated`, `message_deleted`, `message_created`, `reaction_created`, `reaction_deleted`, `thread_created`, `access_token_created`, `access_token_updated`, `access_token_destroy`, `kms_encrypt`, `kms_decrypt`, `audit_events_accessed`, `dlp_violation_detected`, `search_users_api`, `search_chats_api`, `search_messages_api`, `bot_scopes_updated`, `bot_webhook_settings_updated`, `bot_token_recreated`, `bot_deleted`\n- `actor_id: string` — Идентификатор пользователя, выполнившего действие\n- `actor_type: string` — Тип актора\n- `entity_id: string` — Идентификатор затронутой сущности\n- `entity_type: string` — Тип сущности\n- `limit: integer, int32` (default: 50) — Количество записей для возврата\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09:11:00Z&end_time=2025-05-02T09:11:00Z&event_key=user_login&actor_id=98765&actor_type=User&entity_id=98765&entity_type=User&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: string` (required) — Уникальный идентификатор события. Пример: `\"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14\"`\n - `created_at: date-time` (required) — Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2025-05-15T14:30:00.000Z\"`\n - `event_key: string` (required) — Ключ типа события\n Значения: `user_login` — Пользователь успешно вошел в систему, `user_logout` — Пользователь вышел из системы, `user_2fa_fail` — Неудачная попытка двухфакторной аутентификации, `user_2fa_success` — Успешная двухфакторная аутентификация, `user_created` — Создана новая учетная запись пользователя, `user_deleted` — Учетная запись пользователя удалена, `user_role_changed` — Роль пользователя была изменена, `user_updated` — Данные пользователя обновлены, `tag_created` — Создан новый тег, `tag_deleted` — Тег удален, `user_added_to_tag` — Пользователь добавлен в тег, `user_removed_from_tag` — Пользователь удален из тега, `chat_created` — Создан новый чат, `chat_renamed` — Чат переименован, `chat_permission_changed` — Изменены права доступа к чату, `user_chat_join` — Пользователь присоединился к чату, `user_chat_leave` — Пользователь покинул чат, `tag_added_to_chat` — Тег добавлен в чат, `tag_removed_from_chat` — Тег удален из чата, `message_updated` — Сообщение отредактировано, `message_deleted` — Сообщение удалено, `message_created` — Сообщение создано, `reaction_created` — Реакция добавлена, `reaction_deleted` — Реакция удалена, `thread_created` — Тред создан, `access_token_created` — Создан новый токен доступа, `access_token_updated` — Токен доступа обновлен, `access_token_destroy` — Токен доступа удален, `kms_encrypt` — Данные зашифрованы, `kms_decrypt` — Данные расшифрованы, `audit_events_accessed` — Доступ к журналам аудита получен, `dlp_violation_detected` — Срабатывание правила DLP-системы, `search_users_api` — Поиск сотрудников через API, `search_chats_api` — Поиск чатов через API, `search_messages_api` — Поиск сообщений через API, `bot_scopes_updated` — Изменены скоупы токена бота, `bot_webhook_settings_updated` — Изменены настройки исходящего вебхука бота, `bot_token_recreated` — Токен бота перевыпущен (ротация), `bot_deleted` — Бот удалён\n - `entity_id: string` (required) — Идентификатор затронутой сущности. Пример: `\"98765\"`\n - `entity_type: string` (required) — Тип затронутой сущности. Пример: `\"User\"`\n - `actor_id: string` (required) — Идентификатор пользователя, выполнившего действие. Пример: `\"98765\"`\n - `actor_type: string` (required) — Тип актора. Пример: `\"User\"`\n - `details: anyOf` (required) — Дополнительные детали события. Структура зависит от значения event_key — см. описания значений поля event_key. Для событий без деталей возвращается пустой объект\n **Возможные варианты:**\n\n - **AuditDetailsEmpty**: Пустые детали. При: user_login, user_logout, user_2fa_fail, user_2fa_success, user_created, user_deleted, chat_created, message_created, message_updated, message_deleted, reaction_created, reaction_deleted, thread_created, audit_events_accessed, bot_token_recreated, bot_deleted\n - **AuditDetailsUserUpdated**: При: user_updated\n - `changed_attrs: array of string` (required) — Список изменённых полей\n - **AuditDetailsRoleChanged**: При: user_role_changed\n - `new_company_role: string` (required) — Новая роль\n - `previous_company_role: string` (required) — Предыдущая роль\n - `initiator_id: integer, int32` (required) — Идентификатор инициатора\n - **AuditDetailsTagName**: При: tag_created, tag_deleted\n - `name: string` (required) — Название тега\n - **AuditDetailsInitiator**: При: user_added_to_tag, user_removed_from_tag, user_chat_leave\n - `initiator_id: integer, int32` (required) — Идентификатор инициатора действия\n - **AuditDetailsInviter**: При: user_chat_join\n - `inviter_id: integer, int32` (required) — Идентификатор пригласившего\n - **AuditDetailsChatRenamed**: При: chat_renamed\n - `old_name: string` (required) — Прежнее название чата\n - `new_name: string` (required) — Новое название чата\n - **AuditDetailsChatPermission**: При: chat_permission_changed\n - `public_access: boolean` (required) — Публичный доступ\n - **AuditDetailsTagChat**: При: tag_added_to_chat\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - `tag_name: string` (required) — Название тега\n - **AuditDetailsChatId**: При: tag_removed_from_chat\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - **AuditDetailsTokenScopes**: При: access_token_created, access_token_updated, access_token_destroy\n - `scopes: array of string` (required) — Скоупы токена\n - **AuditDetailsKms**: При: kms_encrypt, kms_decrypt\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - `message_id: integer, int32` (required) — Идентификатор сообщения\n - `reason: string` (required) — Причина операции\n - **AuditDetailsDlp**: При: dlp_violation_detected\n - `dlp_rule_id: integer, int32` (required) — Идентификатор правила DLP\n - `dlp_rule_name: string` (required) — Название правила DLP\n - `message_id: integer, int32` (required) — Идентификатор сообщения\n - `chat_id: integer, int32` (required) — Идентификатор чата\n - `user_id: integer, int32` (required) — Идентификатор пользователя\n - `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.\n - `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)\n - **AuditDetailsSearch**: При: search_users_api, search_chats_api, search_messages_api\n - `search_type: string` (required) — Тип поиска\n - `query_present: boolean` (required) — Указан ли поисковый запрос\n - `cursor_present: boolean` (required) — Использован ли курсор\n - `limit: integer, int32` (required) — Количество возвращённых результатов\n - `filters: Record` (required) — Применённые фильтры. Возможные ключи зависят от типа поиска: order, sort, created_from, created_to, company_roles (users), active, chat_subtype, personal (chats), chat_ids, user_ids (messages)\n **Структура значений Record:**\n - Тип значения: `any`\n - **AuditDetailsBotScopes**: При: bot_scopes_updated\n - `added_scopes: array of string` (required) — Скоупы, добавленные токену бота\n - `removed_scopes: array of string` (required) — Скоупы, отозванные у токена бота\n - **AuditDetailsBotWebhookSettings**: При: bot_webhook_settings_updated\n - `changes: Record` (required) — Изменённые настройки вебхука. Ключ — имя настройки (outgoing_url, ignore_self_messages, events_history_enabled), значение — объект с полями previous (прежнее значение) и new (новое значение)\n **Структура значений Record:**\n - Тип значения: `any`\n - `ip_address: string` (required) — IP-адрес, с которого было выполнено действие. Пример: `\"192.168.1.100\"`\n - `user_agent: string` (required) — User agent клиента. Пример: `\"Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": \"a1b2c3d4-5e6f-7g8h-9i10-j11k12l13m14\",\n \"created_at\": \"2025-05-15T14:30:00.000Z\",\n \"event_key\": \"user_login\",\n \"entity_id\": \"98765\",\n \"entity_type\": \"User\",\n \"actor_id\": \"98765\",\n \"actor_type\": \"User\",\n \"details\": null,\n \"ip_address\": \"192.168.1.100\",\n \"user_agent\": \"Pachca/3.60.0 (co.staply.pachca; build:15; iOS 18.5.0) Alamofire/5.0.0\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/bot/recreate_token","summary":"Ротация собственного токена бота","scope":"bot_self:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots recreate-token-self","docLink":"https://dev.pachca.com/api/bots/recreate-token-self","describe":"# POST /bot/recreate_token — Ротация собственного токена бота\n\n> **Скоуп:** `bot_self:write`\n\n## Эквивалентная команда\n\n```bash\npachca bots recreate-token-self \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/recreate-token-self\nПолная справка: `pachca api POST /bot/recreate_token --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/bot/recreate_token","description":"Ротация собственного токена бота\n\nМетод позволяет боту сгенерировать себе новый `access_token` своим же токеном — без участия администратора и без знания собственного `id`. Ротируется токен того бота, которому принадлежит токен запроса.\n\nТокен, которым выполнен запрос, инвалидируется сразу. Новый токен возвращается в ответе один раз — обязательно сохраните его, иначе бот потеряет доступ к API.","parameters":[],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры созданного бота","required":["id","webhook","access_token"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled","single_chat","can_edit","who_can_add"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.","example":false},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"who_can_add":{"description":"Кто может добавлять бота в чаты","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]}},"$ref":"#/components/schemas/BotWebhook"}]},"access_token":{"type":"string","description":"Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.","example":"bm90X2FfcmVhbF90b2tlbg"}},"$ref":"#/components/schemas/BotCreateResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false,"single_chat":false,"can_edit":["admin"],"who_can_add":"creator"},"access_token":"bm90X2FfcmVhbF90b2tlbg"}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bot_self:write","scopeRoles":["bot"]},"paginated":false},"docs":"# Ротация собственного токена бота\n\n**Метод**: `POST`\n\n**Путь**: `/bot/recreate_token`\n\n> **Скоуп:** `bot_self:write`\n\nМетод позволяет боту сгенерировать себе новый `access_token` своим же токеном — без участия администратора и без знания собственного `id`. Ротируется токен того бота, которому принадлежит токен запроса.\n\nТокен, которым выполнен запрос, инвалидируется сразу. Новый токен возвращается в ответе один раз — обязательно сохраните его, иначе бот потеряет доступ к API.\n\n## Пример запроса\n\n```bash\ncurl -X POST \"https://api.pachca.com/api/shared/v1/bot/recreate_token\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры созданного бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`\n - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `who_can_add: string` (required) — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n - `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `\"bm90X2FfcmVhbF90b2tlbg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false,\n \"single_chat\": false,\n \"can_edit\": [\n \"admin\"\n ],\n \"who_can_add\": \"creator\"\n },\n \"access_token\": \"bm90X2FfcmVhbF90b2tlbg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/bot/webhook","summary":"Саморегистрация вебхука бота","scope":"bot_self:webhook:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots update-webhook","docLink":"https://dev.pachca.com/api/bots/update-webhook","describe":"# PUT /bot/webhook — Саморегистрация вебхука бота\n\n> **Скоуп:** `bot_self:webhook:write`\n\n## Тело запроса\n\n- `webhook: object` (required) — Объект параметров вебхука\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пустая строка отключает вебхук.\n\n## Эквивалентная команда\n\n```bash\npachca bots update-webhook \\\n --outgoing-url=https://www.website.com/tasks/new \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/update-webhook\nПолная справка: `pachca api PUT /bot/webhook --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/bot/webhook","description":"Саморегистрация вебхука бота\n\nМетод позволяет боту самостоятельно изменить `URL` своего исходящего вебхука своим же токеном — без участия администратора и без знания собственного `id`. Меняется вебхук того бота, которому принадлежит токен. Чтобы отключить вебхук, передайте пустую строку в `outgoing_url`.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на саморегистрацию вебхука бота","required":["webhook"],"properties":{"webhook":{"type":"object","description":"Объект параметров вебхука","required":["outgoing_url"],"properties":{"outgoing_url":{"type":"string","description":"URL исходящего вебхука. Пустая строка отключает вебхук.","example":"https://www.website.com/tasks/new"}}}},"$ref":"#/components/schemas/BotWebhookSelfUpdateRequest"},"example":{"webhook":{"outgoing_url":"https://www.website.com/tasks/new"}}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры бота","required":["id","webhook"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled","single_chat","can_edit","who_can_add"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.","example":false},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"who_can_add":{"description":"Кто может добавлять бота в чаты","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]}},"$ref":"#/components/schemas/BotWebhook"}]}},"$ref":"#/components/schemas/BotResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false,"single_chat":false,"can_edit":["admin"],"who_can_add":"creator"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bot_self:webhook:write","scopeRoles":["bot"]},"paginated":false},"docs":"# Саморегистрация вебхука бота\n\n**Метод**: `PUT`\n\n**Путь**: `/bot/webhook`\n\n> **Скоуп:** `bot_self:webhook:write`\n\nМетод позволяет боту самостоятельно изменить `URL` своего исходящего вебхука своим же токеном — без участия администратора и без знания собственного `id`. Меняется вебхук того бота, которому принадлежит токен. Чтобы отключить вебхук, передайте пустую строку в `outgoing_url`.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `webhook: object` (required) — Объект параметров вебхука\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пустая строка отключает вебхук.. Пример: `\"https://www.website.com/tasks/new\"`\n\n### Пример\n\n```json\n{\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/bot/webhook\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`\n - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `who_can_add: string` (required) — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false,\n \"single_chat\": false,\n \"can_edit\": [\n \"admin\"\n ],\n \"who_can_add\": \"creator\"\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/bots","summary":"Список ботов","scope":"bots:read","plan":null,"auth":true,"paginated":true,"command":"pachca bots list","docLink":"https://dev.pachca.com/api/bots/list","describe":"# GET /bots — Список ботов\n\n> **Скоуп:** `bots:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `query` — query: Поисковая фраза для фильтрации ботов по имени\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca bots list \\\n --query=задач \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/list\nПолная справка: `pachca api GET /bots --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/bots","description":"Список ботов\n\nМетод для получения списка ботов. Возвращаются только боты, доступные вам для редактирования: созданные вами и те, чьи настройки открывают вам доступ к редактированию.","parameters":[{"name":"query","in":"query","description":"Поисковая фраза для фильтрации ботов по имени","required":false,"schema":{"type":"string","example":"задач"},"example":"задач","explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTczODgxNn0"},"example":"eyJpZCI6MTczODgxNn0","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Параметры бота","required":["id","webhook"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled","single_chat","can_edit","who_can_add"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.","example":false},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"who_can_add":{"description":"Кто может добавлять бота в чаты","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]}},"$ref":"#/components/schemas/BotWebhook"}]}},"$ref":"#/components/schemas/BotResponse"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}},"example":{"data":[{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false,"single_chat":false,"can_edit":["admin"],"who_can_add":"creator"}}],"meta":{"paginate":{"next_page":"eyJpZCI6MTczODgxNn0"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"bots:read","scopeRoles":["owner","admin","user"]},"paginated":true},"docs":"# Список ботов\n\n**Метод**: `GET`\n\n**Путь**: `/bots`\n\n> **Скоуп:** `bots:read`\n\nМетод для получения списка ботов. Возвращаются только боты, доступные вам для редактирования: созданные вами и те, чьи настройки открывают вам доступ к редактированию.\n\n## Параметры\n\n### Query параметры\n\n- `query: string` — Поисковая фраза для фильтрации ботов по имени\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/bots?query=задач&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`\n - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `who_can_add: string` (required) — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false,\n \"single_chat\": false,\n \"can_edit\": [\n \"admin\"\n ],\n \"who_can_add\": \"creator\"\n }\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"POST","path":"/bots","summary":"Новый бот","scope":"bots:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots create","docLink":"https://dev.pachca.com/api/bots/create","describe":"# POST /bots — Новый бот\n\n> **Скоуп:** `bots:write`\n\n## Тело запроса\n\n- `webhook: object` (required) — Объект параметров вебхука создаваемого бота\n - `name: string` (required) — Имя бота\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.\n - `outgoing_url: string` — URL исходящего вебхука\n - `events: array of string` — События, на которые подписан бот\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.\n - `template: string` — Шаблон форматирования входящего вебхука\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий\n - `who_can_add: string` — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.\n - `single_chat: boolean` (default: false) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется.\n\n## Эквивалентная команда\n\n```bash\npachca bots create \\\n --name=\"Бот задач\" \\\n --nickname=tasks_bot \\\n --outgoing-url=https://www.website.com/tasks/new \\\n --events=message_new \\\n --commands=/task,/help \\\n --scopes=messages:create \\\n --template=\"Заказ от {{ client }} на сумму {{ amount }} ₽\" \\\n --challenge-key=challenge \\\n --can-edit=admin \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/create\nПолная справка: `pachca api POST /bots --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/bots","description":"Новый бот\n\nМетод для создания бота и получения его `access_token`.\n\nПри создании вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка «API» настроек бота).","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание бота","required":["webhook"],"properties":{"webhook":{"type":"object","description":"Объект параметров вебхука создаваемого бота","required":["name"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота. Должен заканчиваться на `_bot`.","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new"},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","default":"commands","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","example":["/task","/help"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука","example":"Заказ от {{ client }} на сумму {{ amount }} ₽"},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","default":"liquid","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука","example":"challenge"},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","default":true,"example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","default":false,"example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","default":false,"example":false},"who_can_add":{"description":"Кто может добавлять бота в чаты","default":"creator","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется.","default":false,"example":false}}}},"$ref":"#/components/schemas/BotCreateRequest"},"example":{"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"]}}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры созданного бота","required":["id","webhook","access_token"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled","single_chat","can_edit","who_can_add"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.","example":false},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"who_can_add":{"description":"Кто может добавлять бота в чаты","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]}},"$ref":"#/components/schemas/BotWebhook"}]},"access_token":{"type":"string","description":"Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.","example":"bm90X2FfcmVhbF90b2tlbg"}},"$ref":"#/components/schemas/BotCreateResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false,"single_chat":false,"can_edit":["admin"],"who_can_add":"creator"},"access_token":"bm90X2FfcmVhbF90b2tlbg"}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}}},"requirements":{"scope":"bots:write","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Новый бот\n\n**Метод**: `POST`\n\n**Путь**: `/bots`\n\n> **Скоуп:** `bots:write`\n\nМетод для создания бота и получения его `access_token`.\n\nПри создании вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка «API» настроек бота).\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `webhook: object` (required) — Объект параметров вебхука создаваемого бота\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `[\"/task\",\"/help\"]`\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.. Пример: `[\"messages:create\"]`\n - `template: string` — Шаблон форматирования входящего вебхука. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `who_can_add: string` — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `single_chat: boolean` (default: false) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят. Задаётся только при создании, при редактировании не меняется.. Пример: `false`\n\n### Пример\n\n```json\n{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\",\n \"can_edit\": [\n \"admin\"\n ]\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/bots\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\",\n \"can_edit\": [\n \"admin\"\n ]\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры созданного бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`\n - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `who_can_add: string` (required) — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n - `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `\"bm90X2FfcmVhbF90b2tlbg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false,\n \"single_chat\": false,\n \"can_edit\": [\n \"admin\"\n ],\n \"who_can_add\": \"creator\"\n },\n \"access_token\": \"bm90X2FfcmVhbF90b2tlbg\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n"},{"method":"GET","path":"/bots/{id}","summary":"Информация о боте","scope":"bots:read","plan":null,"auth":true,"paginated":false,"command":"pachca bots get","docLink":"https://dev.pachca.com/api/bots/get","describe":"# GET /bots/{id} — Информация о боте\n\n> **Скоуп:** `bots:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор бота\n\n## Эквивалентная команда\n\n```bash\npachca bots get 1738816 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/get\nПолная справка: `pachca api GET /bots/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/bots/{id}","description":"Информация о боте\n\nМетод для получения параметров бота по его `id`.","parameters":[{"name":"id","in":"path","description":"Идентификатор бота","required":true,"schema":{"type":"integer","format":"int32","example":1738816},"example":1738816}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры бота","required":["id","webhook"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled","single_chat","can_edit","who_can_add"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.","example":false},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"who_can_add":{"description":"Кто может добавлять бота в чаты","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]}},"$ref":"#/components/schemas/BotWebhook"}]}},"$ref":"#/components/schemas/BotResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false,"single_chat":false,"can_edit":["admin"],"who_can_add":"creator"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bots:read","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Информация о боте\n\n**Метод**: `GET`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:read`\n\nМетод для получения параметров бота по его `id`.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор бота\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/bots/1738816\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`\n - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `who_can_add: string` (required) — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false,\n \"single_chat\": false,\n \"can_edit\": [\n \"admin\"\n ],\n \"who_can_add\": \"creator\"\n }\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/bots/{id}","summary":"Редактирование бота","scope":"bots:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots update","docLink":"https://dev.pachca.com/api/bots/update","describe":"# PUT /bots/{id} — Редактирование бота\n\n> **Скоуп:** `bots:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор бота\n\n## Тело запроса\n\n- `webhook: object` (required) — Объект параметров вебхука редактируемого бота\n - `name: string` — Имя бота\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.\n - `outgoing_url: string` — URL исходящего вебхука\n - `events: array of string` — События, на которые подписан бот\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.\n - `template: string` — Шаблон форматирования входящего вебхука\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий\n - `who_can_add: string` — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.\n\n## Эквивалентная команда\n\n```bash\npachca bots update 1738816 \\\n --name=\"Бот задач\" \\\n --nickname=tasks_bot \\\n --outgoing-url=https://www.website.com/tasks/new \\\n --events=message_new \\\n --commands=/task,/help \\\n --scopes=messages:create \\\n --template=\"Заказ от {{ client }} на сумму {{ amount }} ₽\" \\\n --challenge-key=challenge \\\n --can-edit=admin \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/update\nПолная справка: `pachca api PUT /bots/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/bots/{id}","description":"Редактирование бота\n\nМетод для редактирования бота.\n\nДля редактирования бота вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса.\n\nВы не можете редактировать бота, настройки которого вам недоступны (поле «Кто может редактировать настройки бота» находится во вкладке «Основное» в настройках бота).","parameters":[{"name":"id","in":"path","description":"Идентификатор бота","required":true,"schema":{"type":"integer","format":"int32","example":1738816},"example":1738816}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на обновление бота","required":["webhook"],"properties":{"webhook":{"type":"object","description":"Объект параметров вебхука редактируемого бота","properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота. Должен заканчиваться на `_bot`.","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new"},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","default":"commands","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands","example":["/task","/help"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука","example":"Заказ от {{ client }} на сумму {{ amount }} ₽"},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","default":"liquid","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука","example":"challenge"},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","default":true,"example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","default":false,"example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","default":false,"example":false},"who_can_add":{"description":"Кто может добавлять бота в чаты","default":"creator","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}}}}},"$ref":"#/components/schemas/BotUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры бота","required":["id","webhook"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled","single_chat","can_edit","who_can_add"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.","example":false},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"who_can_add":{"description":"Кто может добавлять бота в чаты","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]}},"$ref":"#/components/schemas/BotWebhook"}]}},"$ref":"#/components/schemas/BotResponse"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bots:write","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Редактирование бота\n\n**Метод**: `PUT`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:write`\n\nМетод для редактирования бота.\n\nДля редактирования бота вам необходимо знать его `id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса.\n\nВы не можете редактировать бота, настройки которого вам недоступны (поле «Кто может редактировать настройки бота» находится во вкладке «Основное» в настройках бота).\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор бота\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `webhook: object` (required) — Объект параметров вебхука редактируемого бота\n - `name: string` — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `[\"/task\",\"/help\"]`\n - `scopes: array of string` — Скоупы (права доступа) токена бота. Если не указано, бот получает набор по умолчанию.. Пример: `[\"messages:create\"]`\n - `template: string` — Шаблон форматирования входящего вебхука. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` — Название поля проверки для верификации входящего вебхука. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (default: true) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (default: false) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (default: false) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `who_can_add: string` — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n - `can_edit: array of string` — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n\n### Пример\n\n```json\n{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\",\n \"can_edit\": [\n \"admin\"\n ]\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/bots/1738816\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"commands\": [\n \"/task\",\n \"/help\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"challenge_key\": \"challenge\",\n \"can_edit\": [\n \"admin\"\n ]\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`\n - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `who_can_add: string` (required) — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false,\n \"single_chat\": false,\n \"can_edit\": [\n \"admin\"\n ],\n \"who_can_add\": \"creator\"\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/bots/{id}","summary":"Удаление бота","scope":"bots:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots delete","docLink":"https://dev.pachca.com/api/bots/delete","describe":"# DELETE /bots/{id} — Удаление бота\n\n> **Скоуп:** `bots:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор бота\n\n## Эквивалентная команда\n\n```bash\npachca bots delete 1738816 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/delete\nПолная справка: `pachca api DELETE /bots/{id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/bots/{id}","description":"Удаление бота\n\nМетод для удаления бота. Прежний `access_token` бота сразу инвалидируется, бот исключается из всех чатов, его исходящий вебхук удаляется.\n\nУдаление доступно создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Владельцы и администраторы чатов удалять бота не могут, даже если им разрешено его редактировать.\n\nДля удаления бота вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор бота","required":true,"schema":{"type":"integer","format":"int32","example":1738816},"example":1738816}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bots:write","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Удаление бота\n\n**Метод**: `DELETE`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:write`\n\nМетод для удаления бота. Прежний `access_token` бота сразу инвалидируется, бот исключается из всех чатов, его исходящий вебхук удаляется.\n\nУдаление доступно создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Владельцы и администраторы чатов удалять бота не могут, даже если им разрешено его редактировать.\n\nДля удаления бота вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор бота\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/bots/1738816\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/bots/{id}/recreate_token","summary":"Ротация токена бота","scope":"bots:write","plan":null,"auth":true,"paginated":false,"command":"pachca bots recreate-token","docLink":"https://dev.pachca.com/api/bots/recreate-token","describe":"# POST /bots/{id}/recreate_token — Ротация токена бота\n\n> **Скоуп:** `bots:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор бота\n\n## Эквивалентная команда\n\n```bash\npachca bots recreate-token 1738816 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/bots/recreate-token\nПолная справка: `pachca api POST /bots/{id}/recreate_token --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/bots/{id}/recreate_token","description":"Ротация токена бота\n\nМетод генерирует боту новый `access_token` и сразу инвалидирует прежний. Используйте его при компрометации токена или плановой ротации секрета в `CI`.\n\nРотация доступна создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.","parameters":[{"name":"id","in":"path","description":"Идентификатор бота","required":true,"schema":{"type":"integer","format":"int32","example":1738816},"example":1738816}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Параметры созданного бота","required":["id","webhook","access_token"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор бота (совпадает с `user_id` бота)","example":1738816},"webhook":{"description":"Объект параметров вебхука","allOf":[{"type":"object","description":"Параметры вебхука бота","required":["name","nickname","outgoing_url","events","trigger_on","commands","scopes","template","template_engine","challenge_key","link_preview_enabled","ignore_self_messages","events_history_enabled","single_chat","can_edit","who_can_add"],"properties":{"name":{"type":"string","description":"Имя бота","example":"Бот задач"},"nickname":{"type":"string","description":"Никнейм бота","example":"tasks_bot"},"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new","nullable":true},"events":{"type":"array","description":"События, на которые подписан бот","example":["message_new"],"items":{"type":"string","description":"Событие исходящего вебхука бота","enum":["message_new","message_update","message_delete","reaction_new","reaction_delete","button_click","message_link_shared","chat_member_add","chat_member_remove","company_member_invite","company_member_confirm","company_member_suspend","company_member_activate","company_member_delete","company_member_update","bill_created","video_call_started","video_call_finished","video_call_recording_ready"],"x-enum-descriptions":{"message_new":"Новое сообщение","message_update":"Сообщение отредактировано","message_delete":"Сообщение удалено","reaction_new":"Добавлена реакция","reaction_delete":"Реакция удалена","button_click":"Нажата кнопка","message_link_shared":"В сообщении отправлена ссылка (для unfurl)","chat_member_add":"Участник добавлен в чат","chat_member_remove":"Участник удалён из чата","company_member_invite":"Сотрудник приглашён в компанию","company_member_confirm":"Сотрудник подтвердил приглашение","company_member_suspend":"Сотрудник деактивирован","company_member_activate":"Сотрудник активирован","company_member_delete":"Сотрудник удалён из компании","company_member_update":"Данные сотрудника изменены","bill_created":"Создан счёт"},"$ref":"#/components/schemas/BotEventName"}},"trigger_on":{"description":"Условие срабатывания исходящего вебхука","example":"commands","allOf":[{"type":"string","description":"Условие срабатывания исходящего вебхука бота","enum":["commands","all_messages","unfurl"],"x-enum-descriptions":{"commands":"Только на команды (триггер-слова) из commands","all_messages":"На все сообщения в чатах, где есть бот","unfurl":"На развёртывание ссылок (link previews)"},"$ref":"#/components/schemas/BotTriggerOn"}]},"commands":{"type":"array","description":"Команды бота (триггер-слова)","example":["/task"],"items":{"type":"string"}},"scopes":{"type":"array","description":"Скоупы (права доступа) токена бота","example":["messages:create"],"items":{"type":"string"}},"template":{"type":"string","description":"Шаблон форматирования входящего вебхука. `null`, если не задан.","example":"Заказ от {{ client }} на сумму {{ amount }} ₽","nullable":true},"template_engine":{"description":"Шаблонизатор для обработки шаблона входящего вебхука","example":"liquid","allOf":[{"type":"string","description":"Шаблонизатор для форматирования входящих вебхуков","enum":["liquid","mustache"],"x-enum-descriptions":{"liquid":"Liquid — условия, циклы и фильтры","mustache":"Mustache — простая подстановка без логики"},"$ref":"#/components/schemas/BotTemplateEngine"}]},"challenge_key":{"type":"string","description":"Название поля проверки для верификации входящего вебхука. `null`, если не задано.","example":"challenge","nullable":true},"link_preview_enabled":{"type":"boolean","description":"Показывать превью ссылок в сообщениях входящего вебхука","example":true},"ignore_self_messages":{"type":"boolean","description":"Игнорировать входящие сообщения, отправленные самим ботом","example":false},"events_history_enabled":{"type":"boolean","description":"Сохранять историю событий бота для последующего получения через метод истории событий","example":false},"single_chat":{"type":"boolean","description":"Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.","example":false},"can_edit":{"type":"array","description":"Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.","example":["admin"],"items":{"type":"string","description":"Роль, которой разрешено редактировать настройки бота","enum":["admin","chat_owners"],"x-enum-descriptions":{"admin":"Администраторы компании","chat_owners":"Владельцы чатов, в которые добавлен бот"},"$ref":"#/components/schemas/BotCanEdit"}},"who_can_add":{"description":"Кто может добавлять бота в чаты","example":"creator","allOf":[{"type":"string","description":"Кто может добавлять бота в чаты","enum":["creator","creator_admin","creator_admin_user","anyone"],"x-enum-descriptions":{"creator":"Только создатель бота","creator_admin":"Создатель и администраторы компании","creator_admin_user":"Создатель, администраторы и участники компании","anyone":"Любой пользователь, в том числе гости"},"$ref":"#/components/schemas/BotWhoCanAdd"}]}},"$ref":"#/components/schemas/BotWebhook"}]},"access_token":{"type":"string","description":"Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.","example":"bm90X2FfcmVhbF90b2tlbg"}},"$ref":"#/components/schemas/BotCreateResponse"}}},"example":{"data":{"id":1738816,"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"],"scopes":["messages:create"],"template":"Заказ от {{ client }} на сумму {{ amount }} ₽","template_engine":"liquid","challenge_key":"challenge","link_preview_enabled":true,"ignore_self_messages":false,"events_history_enabled":false,"single_chat":false,"can_edit":["admin"],"who_can_add":"creator"},"access_token":"bm90X2FfcmVhbF90b2tlbg"}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"bots:write","scopeRoles":["owner","admin","user"]},"paginated":false},"docs":"# Ротация токена бота\n\n**Метод**: `POST`\n\n**Путь**: `/bots/{id}/recreate_token`\n\n> **Скоуп:** `bots:write`\n\nМетод генерирует боту новый `access_token` и сразу инвалидирует прежний. Используйте его при компрометации токена или плановой ротации секрета в `CI`.\n\nРотация доступна создателю бота, а также администратору компании, если настройки бота открывают администраторам доступ к редактированию. Укажите `id` бота в `URL` запроса. Новый токен возвращается в ответе только один раз — сохраните его сразу.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор бота\n\n\n## Пример запроса\n\n```bash\ncurl -X POST \"https://api.pachca.com/api/shared/v1/bots/1738816/recreate_token\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Параметры созданного бота\n - `id: integer, int32` (required) — Идентификатор бота (совпадает с `user_id` бота). Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `name: string` (required) — Имя бота. Пример: `\"Бот задач\"`\n - `nickname: string` (required) — Никнейм бота. Пример: `\"tasks_bot\"`\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n - `events: array of string` (required) — События, на которые подписан бот. Пример: `[\"message_new\"]`\n - `trigger_on: string` (required) — Условие срабатывания исходящего вебхука\n Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)\n - `commands: array of string` (required) — Команды бота (триггер-слова). Пример: `[\"/task\"]`\n - `scopes: array of string` (required) — Скоупы (права доступа) токена бота. Пример: `[\"messages:create\"]`\n - `template: string` (required) — Шаблон форматирования входящего вебхука. `null`, если не задан.. Пример: `\"Заказ от {{ client }} на сумму {{ amount }} ₽\"`\n - `template_engine: string` (required) — Шаблонизатор для обработки шаблона входящего вебхука\n Значения: `liquid` — Liquid — условия, циклы и фильтры, `mustache` — Mustache — простая подстановка без логики\n - `challenge_key: string` (required) — Название поля проверки для верификации входящего вебхука. `null`, если не задано.. Пример: `\"challenge\"`\n - `link_preview_enabled: boolean` (required) — Показывать превью ссылок в сообщениях входящего вебхука. Пример: `true`\n - `ignore_self_messages: boolean` (required) — Игнорировать входящие сообщения, отправленные самим ботом. Пример: `false`\n - `events_history_enabled: boolean` (required) — Сохранять историю событий бота для последующего получения через метод истории событий. Пример: `false`\n - `single_chat: boolean` (required) — Ограничивает бота одной беседой или каналом: `true` — бота можно добавить только в один такой чат, `false` — в несколько. Личные чаты и треды в ограничение не входят.. Пример: `false`\n - `can_edit: array of string` (required) — Роли, которым, помимо создателя, разрешено редактировать настройки бота. Создатель может редактировать всегда. Пустой массив — редактировать может только создатель.. Пример: `[\"admin\"]`\n - `who_can_add: string` (required) — Кто может добавлять бота в чаты\n Значения: `creator` — Только создатель бота, `creator_admin` — Создатель и администраторы компании, `creator_admin_user` — Создатель, администраторы и участники компании, `anyone` — Любой пользователь, в том числе гости\n - `access_token: string` (required) — Токен доступа бота. Возвращается при создании бота и при ротации токена. Текущий токен также можно посмотреть и скопировать в интерфейсе — вкладка «API» настроек бота.. Пример: `\"bm90X2FfcmVhbF90b2tlbg\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"name\": \"Бот задач\",\n \"nickname\": \"tasks_bot\",\n \"outgoing_url\": \"https://www.website.com/tasks/new\",\n \"events\": [\n \"message_new\"\n ],\n \"trigger_on\": \"commands\",\n \"commands\": [\n \"/task\"\n ],\n \"scopes\": [\n \"messages:create\"\n ],\n \"template\": \"Заказ от {{ client }} на сумму {{ amount }} ₽\",\n \"template_engine\": \"liquid\",\n \"challenge_key\": \"challenge\",\n \"link_preview_enabled\": true,\n \"ignore_self_messages\": false,\n \"events_history_enabled\": false,\n \"single_chat\": false,\n \"can_edit\": [\n \"admin\"\n ],\n \"who_can_add\": \"creator\"\n },\n \"access_token\": \"bm90X2FfcmVhbF90b2tlbg\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/chats","summary":"Новый чат","scope":"chats:create","plan":null,"auth":true,"paginated":false,"command":"pachca chats create","docLink":"https://dev.pachca.com/api/chats/create","describe":"# POST /chats — Новый чат\n\n> **Скоуп:** `chats:create`\n\n## Тело запроса\n\n- `chat: object` (required) — Собранный объект параметров создаваемого чата\n - `name: string` (required) — Название\n - `member_ids: array of integer` — Массив идентификаторов пользователей, которые станут участниками\n - `group_tag_ids: array of integer` — Массив идентификаторов тегов, которые станут участниками\n - `channel: boolean` (default: false) — Является каналом\n - `public: boolean` (default: false) — Открытый доступ\n\n## Эквивалентная команда\n\n```bash\npachca chats create \\\n --name=\"🤿 aqua\" \\\n --member-ids=186,187 \\\n --group-tag-ids=86,18 \\\n --channel \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/create\nПолная справка: `pachca api POST /chats --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/chats","description":"Новый чат\n\nМетод для создания нового чата.\n\nДля создания личной переписки 1 на 1 с пользователем пользуйтесь методом [Новое сообщение](POST /messages).\n\nПри создании чата вы автоматически становитесь участником.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на создание чата","required":["chat"],"properties":{"chat":{"type":"object","description":"Собранный объект параметров создаваемого чата","required":["name"],"properties":{"name":{"type":"string","description":"Название","example":"🤿 aqua"},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, которые станут участниками","example":[186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, которые станут участниками","example":[86,18],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","default":false,"example":true},"public":{"type":"boolean","description":"Открытый доступ","default":false,"example":false}}}},"$ref":"#/components/schemas/ChatCreateRequest"}}}},"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:create","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Новый чат\n\n**Метод**: `POST`\n\n**Путь**: `/chats`\n\n> **Скоуп:** `chats:create`\n\nМетод для создания нового чата.\n\nДля создания личной переписки 1 на 1 с пользователем пользуйтесь методом [Новое сообщение](POST /messages).\n\nПри создании чата вы автоматически становитесь участником.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `chat: object` (required) — Собранный объект параметров создаваемого чата\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `member_ids: array of integer` — Массив идентификаторов пользователей, которые станут участниками. Пример: `[186,187]`\n - `group_tag_ids: array of integer` — Массив идентификаторов тегов, которые станут участниками. Пример: `[86,18]`\n - `channel: boolean` (default: false) — Является каналом. Пример: `true`\n - `public: boolean` (default: false) — Открытый доступ. Пример: `false`\n\n### Пример\n\n```json\n{\n \"chat\": {\n \"name\": \"🤿 aqua\",\n \"member_ids\": [\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 86,\n 18\n ],\n \"channel\": true\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"chat\": {\n \"name\": \"🤿 aqua\",\n \"member_ids\": [\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 86,\n 18\n ],\n \"channel\": true\n }\n}'\n```\n\n## Ответы\n\n### 201: The request has succeeded and a new resource has been created as a result.\n\n**Схема ответа:**\n\n- `data: object` (required) — Чат\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/chats","summary":"Список чатов","scope":"chats:read","plan":null,"auth":true,"paginated":true,"command":"pachca chats list","docLink":"https://dev.pachca.com/api/chats/list","describe":"# GET /chats — Список чатов\n\n> **Скоуп:** `chats:read`\n\n> Пагинация: добавьте `--all` для автоматического обхода страниц\n\n## Параметры\n\n- `sort` — query: Поле сортировки\n- `order` — query: Направление сортировки\n- `availability` — query: Параметр, который отвечает за доступность и выборку чатов для пользователя\n- `last_message_at_after` — query: Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `last_message_at_before` — query: Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `personal` — query: Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.\n- `limit` — query: Количество возвращаемых сущностей за один запрос\n- `cursor` — query: Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n## Эквивалентная команда\n\n```bash\n# Добавьте --all для автоматической пагинации\npachca chats list \\\n --sort=id \\\n --order=desc \\\n --availability=is_member \\\n --last-message-at-after=2025-01-01T00:00:00.000Z \\\n --last-message-at-before=2025-02-01T00:00:00.000Z \\\n --no-personal \\\n --limit=1 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/list\nПолная справка: `pachca api GET /chats --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/chats","description":"Список чатов\n\nМетод для получения списка чатов по заданным параметрам.","parameters":[{"name":"sort","in":"query","description":"Поле сортировки","required":false,"schema":{"default":"id","allOf":[{"type":"string","description":"Поле сортировки чатов","enum":["id","last_message_at"],"x-enum-descriptions":{"id":"По идентификатору чата","last_message_at":"По дате и времени создания последнего сообщения"},"$ref":"#/components/schemas/ChatSortField"}]},"example":"id","explode":false},{"name":"order","in":"query","description":"Направление сортировки","required":false,"schema":{"default":"desc","allOf":[{"type":"string","description":"Порядок сортировки","enum":["asc","desc"],"x-enum-descriptions":{"asc":"По возрастанию","desc":"По убыванию"},"$ref":"#/components/schemas/SortOrder"}]},"example":"desc","explode":false},{"name":"availability","in":"query","description":"Параметр, который отвечает за доступность и выборку чатов для пользователя","required":false,"schema":{"default":"is_member","allOf":[{"type":"string","description":"Доступность чатов для пользователя","enum":["is_member","public"],"x-enum-descriptions":{"is_member":"Чаты, где пользователь является участником","public":"Все открытые чаты компании, вне зависимости от участия в них пользователя"},"$ref":"#/components/schemas/ChatAvailability"}]},"example":"is_member","explode":false},{"name":"last_message_at_after","in":"query","description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","required":false,"schema":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"},"example":"2025-01-01T00:00:00.000Z","explode":false},{"name":"last_message_at_before","in":"query","description":"Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).","required":false,"schema":{"type":"string","format":"date-time","example":"2025-02-01T00:00:00.000Z"},"example":"2025-02-01T00:00:00.000Z","explode":false},{"name":"personal","in":"query","description":"Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.","required":false,"schema":{"type":"boolean","example":false},"example":false,"explode":false},{"name":"limit","in":"query","description":"Количество возвращаемых сущностей за один запрос","required":false,"schema":{"type":"integer","format":"int32","default":50,"example":1,"minimum":1,"maximum":50},"example":1,"explode":false},{"name":"cursor","in":"query","description":"Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)","required":false,"schema":{"type":"string","example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9"},"example":"eyJpZCI6MTAsImRpciI6ImFzYyJ9","explode":false}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными и пагинацией","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}},"meta":{"type":"object","description":"Метаданные пагинации","required":["paginate"],"properties":{"paginate":{"type":"object","description":"Вспомогательная информация","required":["next_page"],"properties":{"next_page":{"type":"string","description":"Курсор пагинации следующей страницы","example":"eyJxZCO2MiwiZGlyIjomSNYjIn3"},"prev_page":{"type":"string","description":"Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.","example":"eyJxZCO2MiwiZGlyIjoiYXNjIn0"},"has_next":{"type":"boolean","description":"Есть ли ещё данные на следующей странице. На последней странице — `false`.","example":true},"has_prev":{"type":"boolean","description":"Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.","example":false}}}},"$ref":"#/components/schemas/PaginationMeta"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:read","scopeRoles":["owner","admin","user","bot"]},"paginated":true},"docs":"# Список чатов\n\n**Метод**: `GET`\n\n**Путь**: `/chats`\n\n> **Скоуп:** `chats:read`\n\nМетод для получения списка чатов по заданным параметрам.\n\n## Параметры\n\n### Query параметры\n\n- `sort: string` (default: id) — Поле сортировки\n- `order: string` (default: desc) — Направление сортировки\n- `availability: string` (default: is_member) — Параметр, который отвечает за доступность и выборку чатов для пользователя\n- `last_message_at_after: date-time` — Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не раньше чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `last_message_at_before: date-time` — Фильтрация по времени создания последнего сообщения. Будут возвращены те чаты, время последнего созданного сообщения в которых не позже чем указанное (в формате YYYY-MM-DDThh:mm:ss.sssZ).\n- `personal: boolean` — Фильтрация по личным и групповым чатам. Если параметр не указан, возвращаются любые чаты.\n- `limit: integer, int32` (default: 50) — Количество возвращаемых сущностей за один запрос\n- `cursor: string` — Курсор для пагинации (из `meta.paginate.next_page` или `meta.paginate.prev_page`)\n\n\n## Пример запроса\n\n```bash\n# Для получения следующей страницы используйте cursor из meta.paginate.next_page\ncurl \"https://api.pachca.com/api/shared/v1/chats?sort=id&order=desc&availability=is_member&last_message_at_after=2025-01-01T00:00:00.000Z&last_message_at_before=2025-02-01T00:00:00.000Z&personal=false&limit=1\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: array of object` (required)\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n- `meta: object` (required) — Метаданные пагинации\n - `paginate: object` (required) — Вспомогательная информация\n - `next_page: string` (required) — Курсор пагинации следующей страницы. Пример: `\"eyJxZCO2MiwiZGlyIjomSNYjIn3\"`\n - `prev_page: string` — Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.. Пример: `\"eyJxZCO2MiwiZGlyIjoiYXNjIn0\"`\n - `has_next: boolean` — Есть ли ещё данные на следующей странице. На последней странице — `false`.. Пример: `true`\n - `has_prev: boolean` — Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — `false`.. Пример: `false`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": [\n {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n ],\n \"meta\": {\n \"paginate\": {\n \"next_page\": \"eyJxZCO2MiwiZGlyIjomSNYjIn3\",\n \"prev_page\": \"eyJxZCO2MiwiZGlyIjoiYXNjIn0\",\n \"has_next\": true,\n \"has_prev\": false\n }\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/chats/exports","summary":"Экспорт сообщений","scope":"chat_exports:write","plan":"corporation","auth":true,"paginated":false,"command":"pachca chats request-export","docLink":"https://dev.pachca.com/api/chats/request-export","describe":"# POST /chats/exports — Экспорт сообщений\n\n> **Скоуп:** `chat_exports:write`\n\n> **Тариф:** Корпорация\n\n## Тело запроса\n\n- `start_at: date` (required) — Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD\n- `end_at: date` (required) — Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD\n- `webhook_url: string` (required) — Адрес, на который будет отправлен вебхук по завершению экспорта\n- `chat_ids: array of integer` — Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.\n- `skip_chats_file: boolean` (default: false) — Пропуск формирования файла со списком чатов (chats.json)\n\n## Эквивалентная команда\n\n```bash\npachca chats request-export \\\n --start-at=2025-03-20 \\\n --end-at=2025-03-20 \\\n --webhook-url=https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2 \\\n --chat-ids=1381521 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/request-export\nПолная справка: `pachca api POST /chats/exports --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/chats/exports","description":"Экспорт сообщений\n\nМетод для запрашивания экспорта сообщений за указанный период.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на экспорт сообщений","required":["start_at","end_at","webhook_url"],"properties":{"start_at":{"type":"string","format":"date","description":"Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","example":"2025-03-20"},"end_at":{"type":"string","format":"date","description":"Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD","example":"2025-03-20"},"webhook_url":{"type":"string","description":"Адрес, на который будет отправлен вебхук по завершению экспорта","example":"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2"},"chat_ids":{"type":"array","description":"Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.","example":[1381521],"items":{"type":"integer","format":"int32"}},"skip_chats_file":{"type":"boolean","description":"Пропуск формирования файла со списком чатов (chats.json)","default":false,"example":false}},"$ref":"#/components/schemas/ExportRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_exports:write","plan":"corporation","scopeRoles":["owner"]},"paginated":false},"docs":"# Экспорт сообщений\n\n**Метод**: `POST`\n\n**Путь**: `/chats/exports`\n\n> **Скоуп:** `chat_exports:write`\n\n> **Внимание:** Доступно только на тарифе **Корпорация**\n\nМетод для запрашивания экспорта сообщений за указанный период.\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `start_at: date` (required) — Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD. Пример: `\"2025-03-20\"`\n- `end_at: date` (required) — Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD. Пример: `\"2025-03-20\"`\n- `webhook_url: string` (required) — Адрес, на который будет отправлен вебхук по завершению экспорта. Пример: `\"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2\"`\n- `chat_ids: array of integer` — Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.. Пример: `[1381521]`\n- `skip_chats_file: boolean` (default: false) — Пропуск формирования файла со списком чатов (chats.json). Пример: `false`\n\n### Пример\n\n```json\n{\n \"start_at\": \"2025-03-20\",\n \"end_at\": \"2025-03-20\",\n \"webhook_url\": \"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2\",\n \"chat_ids\": [\n 1381521\n ]\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/exports\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"start_at\": \"2025-03-20\",\n \"end_at\": \"2025-03-20\",\n \"webhook_url\": \"https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2\",\n \"chat_ids\": [\n 1381521\n ]\n}'\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **ApiError**: Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)\n - `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/chats/exports/{id}","summary":"Скачать архив экспорта","scope":"chat_exports:read","plan":"corporation","auth":true,"paginated":false,"command":"pachca chats download-export","docLink":"https://dev.pachca.com/api/chats/download-export","describe":"# GET /chats/exports/{id} — Скачать архив экспорта\n\n> **Скоуп:** `chat_exports:read`\n\n> **Тариф:** Корпорация\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор экспорта\n\n## Эквивалентная команда\n\n```bash\npachca chats download-export 22322 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/download-export\nПолная справка: `pachca api GET /chats/exports/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/chats/exports/{id}","description":"Скачать архив экспорта\n\nМетод для скачивания готового архива экспорта сообщений.\n\nДля получения архива вам необходимо знать его `id` и указать его в `URL` запроса.\n\nВ ответ на запрос сервер вернёт `302 Found` с заголовком `Location`, содержащим временную ссылку на скачивание файла. Большинство HTTP-клиентов автоматически следуют редиректу и скачивают файл.","parameters":[{"name":"id","in":"path","description":"Идентификатор экспорта","required":true,"schema":{"type":"integer","format":"int32","example":22322},"example":22322}],"responses":{"302":{"description":"Redirection","headers":{"location":{"schema":{"type":"string","format":"uri"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"},{"anyOf":[{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"},{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}]}]}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_exports:read","plan":"corporation","scopeRoles":["owner"]},"paginated":false},"docs":"# Скачать архив экспорта\n\n**Метод**: `GET`\n\n**Путь**: `/chats/exports/{id}`\n\n> **Скоуп:** `chat_exports:read`\n\n> **Внимание:** Доступно только на тарифе **Корпорация**\n\nМетод для скачивания готового архива экспорта сообщений.\n\nДля получения архива вам необходимо знать его `id` и указать его в `URL` запроса.\n\nВ ответ на запрос сервер вернёт `302 Found` с заголовком `Location`, содержащим временную ссылку на скачивание файла. Большинство HTTP-клиентов автоматически следуют редиректу и скачивают файл.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор экспорта\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/exports/22322\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 302: Redirection\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n**anyOf** - один из вариантов:\n\n- **OAuthError**: Ошибка OAuth авторизации (используется для 401 и 403)\n - `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n - `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n- **Вариант 2**\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"GET","path":"/chats/{id}","summary":"Информация о чате","scope":"chats:read","plan":null,"auth":true,"paginated":false,"command":"pachca chats get","docLink":"https://dev.pachca.com/api/chats/get","describe":"# GET /chats/{id} — Информация о чате\n\n> **Скоуп:** `chats:read`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Эквивалентная команда\n\n```bash\npachca chats get 334 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/get\nПолная справка: `pachca api GET /chats/{id} --docs` · схема: `--spec`\n","spec":{"method":"GET","path":"/chats/{id}","description":"Информация о чате\n\nМетод для получения информации о чате.\n\nДля получения чата вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}}}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:read","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Информация о чате\n\n**Метод**: `GET`\n\n**Путь**: `/chats/{id}`\n\n> **Скоуп:** `chats:read`\n\nМетод для получения информации о чате.\n\nДля получения чата вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/334\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Чат\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/chats/{id}","summary":"Редактирование чата","scope":"chats:update","plan":null,"auth":true,"paginated":false,"command":"pachca chats update","docLink":"https://dev.pachca.com/api/chats/update","describe":"# PUT /chats/{id} — Редактирование чата\n\n> **Скоуп:** `chats:update`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Тело запроса\n\n- `chat: object` (required) — Собранный объект параметров обновляемого чата\n - `name: string` — Название\n - `public: boolean` — Открытый доступ\n\n## Эквивалентная команда\n\n```bash\npachca chats update 334 \\\n --name=Бассейн \\\n --public \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/update\nПолная справка: `pachca api PUT /chats/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/chats/{id}","description":"Редактирование чата\n\nМетод для обновления параметров чата.\n\nДля обновления нужно знать `id` чата и указать его в `URL`. Все обновляемые поля передаются в теле запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на обновление чата","required":["chat"],"properties":{"chat":{"type":"object","description":"Собранный объект параметров обновляемого чата","properties":{"name":{"type":"string","description":"Название","example":"Бассейн"},"public":{"type":"boolean","description":"Открытый доступ","example":true}}}},"$ref":"#/components/schemas/ChatUpdateRequest"}}}},"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","description":"Обертка ответа с данными","required":["data"],"properties":{"data":{"type":"object","description":"Чат","required":["id","name","created_at","owner_id","member_ids","group_tag_ids","channel","personal","public","last_message_at","meet_room_url"],"properties":{"id":{"type":"integer","format":"int32","description":"Идентификатор созданного чата","example":334},"name":{"type":"string","description":"Название","example":"🤿 aqua"},"created_at":{"type":"string","format":"date-time","description":"Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"owner_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, создавшего чат","example":185},"member_ids":{"type":"array","description":"Массив идентификаторов пользователей, участников","example":[185,186,187],"items":{"type":"integer","format":"int32"}},"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, участников","example":[9111],"items":{"type":"integer","format":"int32"}},"channel":{"type":"boolean","description":"Является каналом","example":true},"personal":{"type":"boolean","description":"Является личным чатом","example":false},"public":{"type":"boolean","description":"Открытый доступ","example":false},"last_message_at":{"type":"string","format":"date-time","description":"Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ","example":"2021-08-28T15:56:53.000Z"},"meet_room_url":{"type":"string","description":"Ссылка на Видеочат","example":"https://meet.pachca.com/aqua-94bb21b5"}},"$ref":"#/components/schemas/Chat"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:update","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Редактирование чата\n\n**Метод**: `PUT`\n\n**Путь**: `/chats/{id}`\n\n> **Скоуп:** `chats:update`\n\nМетод для обновления параметров чата.\n\nДля обновления нужно знать `id` чата и указать его в `URL`. Все обновляемые поля передаются в теле запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `chat: object` (required) — Собранный объект параметров обновляемого чата\n - `name: string` — Название. Пример: `\"Бассейн\"`\n - `public: boolean` — Открытый доступ. Пример: `true`\n\n### Пример\n\n```json\n{\n \"chat\": {\n \"name\": \"Бассейн\",\n \"public\": true\n }\n}\n```\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/chats/334\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"chat\": {\n \"name\": \"Бассейн\",\n \"public\": true\n }\n}'\n```\n\n## Ответы\n\n### 200: The request has succeeded.\n\n**Схема ответа:**\n\n- `data: object` (required) — Чат\n - `id: integer, int32` (required) — Идентификатор созданного чата. Пример: `334`\n - `name: string` (required) — Название. Пример: `\"🤿 aqua\"`\n - `created_at: date-time` (required) — Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `owner_id: integer, int32` (required) — Идентификатор пользователя, создавшего чат. Пример: `185`\n - `member_ids: array of integer` (required) — Массив идентификаторов пользователей, участников. Пример: `[185,186,187]`\n - `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, участников. Пример: `[9111]`\n - `channel: boolean` (required) — Является каналом. Пример: `true`\n - `personal: boolean` (required) — Является личным чатом. Пример: `false`\n - `public: boolean` (required) — Открытый доступ. Пример: `false`\n - `last_message_at: date-time` (required) — Дата и время создания последнего сообщения в чате (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `\"2021-08-28T15:56:53.000Z\"`\n - `meet_room_url: string` (required) — Ссылка на Видеочат. Пример: `\"https://meet.pachca.com/aqua-94bb21b5\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 334,\n \"name\": \"🤿 aqua\",\n \"created_at\": \"2021-08-28T15:56:53.000Z\",\n \"owner_id\": 185,\n \"member_ids\": [\n 185,\n 186,\n 187\n ],\n \"group_tag_ids\": [\n 9111\n ],\n \"channel\": true,\n \"personal\": false,\n \"public\": false,\n \"last_message_at\": \"2021-08-28T15:56:53.000Z\",\n \"meet_room_url\": \"https://meet.pachca.com/aqua-94bb21b5\"\n }\n}\n```\n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 402: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"PUT","path":"/chats/{id}/archive","summary":"Архивация чата","scope":"chats:archive","plan":null,"auth":true,"paginated":false,"command":"pachca chats archive","docLink":"https://dev.pachca.com/api/chats/archive","describe":"# PUT /chats/{id}/archive — Архивация чата\n\n> **Скоуп:** `chats:archive`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Эквивалентная команда\n\n```bash\npachca chats archive 334 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/chats/archive\nПолная справка: `pachca api PUT /chats/{id}/archive --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/chats/{id}/archive","description":"Архивация чата\n\nМетод для отправки чата в архив.\n\nДля отправки чата в архив вам необходимо знать `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:archive","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Архивация чата\n\n**Метод**: `PUT`\n\n**Путь**: `/chats/{id}/archive`\n\n> **Скоуп:** `chats:archive`\n\nМетод для отправки чата в архив.\n\nДля отправки чата в архив вам необходимо знать `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Пример запроса\n\n```bash\ncurl -X PUT \"https://api.pachca.com/api/shared/v1/chats/334/archive\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"POST","path":"/chats/{id}/group_tags","summary":"Добавление тегов","scope":"chat_members:write","plan":null,"auth":true,"paginated":false,"command":"pachca members add-group-tags","docLink":"https://dev.pachca.com/api/members/add-group-tags","describe":"# POST /chats/{id}/group_tags — Добавление тегов\n\n> **Скоуп:** `chat_members:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Тело запроса\n\n- `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, которые станут участниками\n\n## Эквивалентная команда\n\n```bash\npachca members add-group-tags 334 \\\n --group-tag-ids=86,18 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/add-group-tags\nПолная справка: `pachca api POST /chats/{id}/group_tags --docs` · схема: `--spec`\n","spec":{"method":"POST","path":"/chats/{id}/group_tags","description":"Добавление тегов\n\nМетод для добавления тегов в состав участников беседы или канала.\n\nПосле добавления тега все его участники автоматически становятся участниками чата. Состав участников тега и чата синхронизируется автоматически: при добавлении нового участника в тег он сразу появляется в чате, при удалении из тега — удаляется из чата.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Запрос на добавление тегов в чат","required":["group_tag_ids"],"properties":{"group_tag_ids":{"type":"array","description":"Массив идентификаторов тегов, которые станут участниками","example":[86,18],"items":{"type":"integer","format":"int32"}}},"$ref":"#/components/schemas/AddTagsRequest"}}}},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Добавление тегов\n\n**Метод**: `POST`\n\n**Путь**: `/chats/{id}/group_tags`\n\n> **Скоуп:** `chat_members:write`\n\nМетод для добавления тегов в состав участников беседы или канала.\n\nПосле добавления тега все его участники автоматически становятся участниками чата. Состав участников тега и чата синхронизируется автоматически: при добавлении нового участника в тег он сразу появляется в чате, при удалении из тега — удаляется из чата.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Тело запроса\n\n**Обязательно**\n\nФормат: `application/json`\n\n### Схема\n\n- `group_tag_ids: array of integer` (required) — Массив идентификаторов тегов, которые станут участниками. Пример: `[86,18]`\n\n### Пример\n\n```json\n{\n \"group_tag_ids\": [\n 86,\n 18\n ]\n}\n```\n\n## Пример запроса\n\n```bash\ncurl \"https://api.pachca.com/api/shared/v1/chats/334/group_tags\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"group_tag_ids\": [\n 86,\n 18\n ]\n}'\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/chats/{id}/group_tags/{tag_id}","summary":"Исключение тега","scope":"chat_members:write","plan":null,"auth":true,"paginated":false,"command":"pachca members remove-group-tag","docLink":"https://dev.pachca.com/api/members/remove-group-tag","describe":"# DELETE /chats/{id}/group_tags/{tag_id} — Исключение тега\n\n> **Скоуп:** `chat_members:write`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n- `tag_id` — путь (обязательный): Идентификатор тега\n\n## Эквивалентная команда\n\n```bash\npachca members remove-group-tag 334 86 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/remove-group-tag\nПолная справка: `pachca api DELETE /chats/{id}/group_tags/{tag_id} --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/chats/{id}/group_tags/{tag_id}","description":"Исключение тега\n\nМетод для исключения тега из состава участников беседы или канала.\n\nДля исключения тега вам необходимо знать его `id` и указать его в `URL` запроса.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334},{"name":"tag_id","in":"path","description":"Идентификатор тега","required":true,"schema":{"type":"integer","format":"int32","example":86},"example":86}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chat_members:write","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Исключение тега\n\n**Метод**: `DELETE`\n\n**Путь**: `/chats/{id}/group_tags/{tag_id}`\n\n> **Скоуп:** `chat_members:write`\n\nМетод для исключения тега из состава участников беседы или канала.\n\nДля исключения тега вам необходимо знать его `id` и указать его в `URL` запроса.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n- `tag_id: integer, int32` (required) — Идентификатор тега\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/chats/334/group_tags/86\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n"},{"method":"DELETE","path":"/chats/{id}/leave","summary":"Выход из беседы или канала","scope":"chats:leave","plan":null,"auth":true,"paginated":false,"command":"pachca members leave","docLink":"https://dev.pachca.com/api/members/leave","describe":"# DELETE /chats/{id}/leave — Выход из беседы или канала\n\n> **Скоуп:** `chats:leave`\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор чата\n\n## Эквивалентная команда\n\n```bash\npachca members leave 334 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/members/leave\nПолная справка: `pachca api DELETE /chats/{id}/leave --docs` · схема: `--spec`\n","spec":{"method":"DELETE","path":"/chats/{id}/leave","description":"Выход из беседы или канала\n\nМетод для самостоятельного выхода из беседы или канала.","parameters":[{"name":"id","in":"path","description":"Идентификатор чата","required":true,"schema":{"type":"integer","format":"int32","example":334},"example":334}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка OAuth авторизации (используется для 401 и 403)","required":["error","error_description"],"properties":{"error":{"type":"string","description":"Код ошибки","example":"invalid_token"},"error_description":{"type":"string","description":"Описание ошибки","example":"Access token is missing"}},"$ref":"#/components/schemas/OAuthError"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","description":"Ошибка API (используется для 400, 402, 403, 404, 409, 410, 422)","required":["errors"],"properties":{"errors":{"type":"array","description":"Массив ошибок","items":{"type":"object","description":"Детальная информация об ошибке","required":["key","value","message","code","payload"],"properties":{"key":{"type":"string","description":"Ключ поля с ошибкой","example":"field.name"},"value":{"type":"string","description":"Значение поля, которое вызвало ошибку","example":"invalid_value","nullable":true},"message":{"type":"string","description":"Сообщение об ошибке","example":"Поле не может быть пустым"},"code":{"description":"Код ошибки","example":"blank","allOf":[{"type":"string","description":"Коды ошибок валидации","enum":["blank","too_long","invalid","inclusion","exclusion","taken","wrong_emoji","not_found","already_exists","personal_chat","displayed_error","not_authorized","invalid_date_range","invalid_webhook_url","rate_limit","licenses_limit","user_limit","unique_limit","general_limit","unhandled","trigger_not_found","trigger_expired","required","in","not_applicable","self_update","owner_protected","already_assigned","forbidden","permission_denied","access_denied","wrong_params","payment_required","min_length","max_length","use_of_system_words","export_file_not_found","cannot_kick_owner","pin_failed","message_deleted","thread_message"],"x-enum-descriptions":{"blank":"Обязательное поле (не может быть пустым)","too_long":"Слишком длинное значение (пояснения вы получите в поле message)","invalid":"Поле не соответствует правилам (пояснения вы получите в поле message)","inclusion":"Поле имеет непредусмотренное значение","exclusion":"Поле имеет недопустимое значение","taken":"Название для этого поля уже существует","wrong_emoji":"Emoji статуса не может содержать значения отличные от Emoji символа","not_found":"Объект не найден","already_exists":"Объект уже существует (пояснения вы получите в поле message)","personal_chat":"Ошибка личного чата (пояснения вы получите в поле message)","displayed_error":"Отображаемая ошибка (пояснения вы получите в поле message)","not_authorized":"Действие запрещено","invalid_date_range":"Выбран слишком большой диапазон дат","invalid_webhook_url":"Некорректный URL вебхука","rate_limit":"Достигнут лимит запросов","licenses_limit":"Превышен лимит активных сотрудников (пояснения вы получите в поле message)","user_limit":"Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций)","unique_limit":"Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций)","general_limit":"Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций)","unhandled":"Ошибка выполнения запроса (пояснения вы получите в поле message)","trigger_not_found":"Не удалось найти идентификатор события","trigger_expired":"Время жизни идентификатора события истекло","required":"Обязательный параметр не передан","in":"Недопустимое значение (не входит в список допустимых)","not_applicable":"Значение неприменимо в данном контексте (пояснения вы получите в поле message)","self_update":"Нельзя изменить свои собственные данные","owner_protected":"Нельзя изменить данные владельца","already_assigned":"Значение уже назначено","forbidden":"Недостаточно прав для выполнения действия (пояснения вы получите в поле message)","permission_denied":"Доступ запрещён (недостаточно прав)","access_denied":"Доступ запрещён","wrong_params":"Некорректные параметры запроса (пояснения вы получите в поле message)","payment_required":"Требуется оплата","min_length":"Значение слишком короткое (пояснения вы получите в поле message)","max_length":"Значение слишком длинное (пояснения вы получите в поле message)","use_of_system_words":"Использовано зарезервированное системное слово (here, all)","export_file_not_found":"Файл экспорта не найден или ещё не готов","cannot_kick_owner":"Нельзя исключить владельца чата","pin_failed":"Не удалось закрепить сообщение","message_deleted":"Сообщение удалено","thread_message":"Нельзя создать тред для сообщения, которое уже находится в треде"},"$ref":"#/components/schemas/ValidationErrorCode"}]},"payload":{"type":"object","description":"Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`","example":null,"nullable":true,"additionalProperties":{}}},"$ref":"#/components/schemas/ApiErrorItem"}}},"$ref":"#/components/schemas/ApiError"}}}}},"requirements":{"scope":"chats:leave","scopeRoles":["owner","admin","user","bot"]},"paginated":false},"docs":"# Выход из беседы или канала\n\n**Метод**: `DELETE`\n\n**Путь**: `/chats/{id}/leave`\n\n> **Скоуп:** `chats:leave`\n\nМетод для самостоятельного выхода из беседы или канала.\n\n## Параметры\n\n### Path параметры\n\n- `id: integer, int32` (required) — Идентификатор чата\n\n\n## Пример запроса\n\n```bash\ncurl -X DELETE \"https://api.pachca.com/api/shared/v1/chats/334/leave\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Ответы\n\n### 204: There is no content to send for this request, but the headers may be useful. \n\n### 400: The server could not understand the request due to invalid syntax.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 401: Access is unauthorized.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 403: Access is forbidden.\n\n**Схема ответа при ошибке:**\n\n- `error: string` (required) — Код ошибки. Пример: `\"invalid_token\"`\n- `error_description: string` (required) — Описание ошибки. Пример: `\"Access token is missing\"`\n\n**Пример ответа:**\n\n```json\n{\n \"error\": \"invalid_token\",\n \"error_description\": \"Access token is missing\"\n}\n```\n\n### 404: The server cannot find the requested resource.\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record` (required) — Дополнительные данные об ошибке. Содержимое зависит от кода ошибки: `{id: number}` — при ошибке кастомного свойства (идентификатор свойства), `{record: {type: string, id: number}, query: string}` — при ошибке авторизации. В большинстве случаев `null`. Пример: `null`\n **Структура значений Record:**\n - Тип значения: `any`\n\n**Пример ответа:**\n\n```json\n{\n \"errors\": [\n {\n \"key\": \"field.name\",\n \"value\": \"invalid_value\",\n \"message\": \"Поле не может быть пустым\",\n \"code\": \"blank\",\n \"payload\": null\n }\n ]\n}\n```\n\n### 422: Client error\n\n**Схема ответа при ошибке:**\n\n- `errors: array of object` (required) — Массив ошибок\n - `key: string` (required) — Ключ поля с ошибкой. Пример: `\"field.name\"`\n - `value: string` (required) — Значение поля, которое вызвало ошибку. Пример: `\"invalid_value\"`\n - `message: string` (required) — Сообщение об ошибке. Пример: `\"Поле не может быть пустым\"`\n - `code: string` (required) — Код ошибки\n Значения: `blank` — Обязательное поле (не может быть пустым), `too_long` — Слишком длинное значение (пояснения вы получите в поле message), `invalid` — Поле не соответствует правилам (пояснения вы получите в поле message), `inclusion` — Поле имеет непредусмотренное значение, `exclusion` — Поле имеет недопустимое значение, `taken` — Название для этого поля уже существует, `wrong_emoji` — Emoji статуса не может содержать значения отличные от Emoji символа, `not_found` — Объект не найден, `already_exists` — Объект уже существует (пояснения вы получите в поле message), `personal_chat` — Ошибка личного чата (пояснения вы получите в поле message), `displayed_error` — Отображаемая ошибка (пояснения вы получите в поле message), `not_authorized` — Действие запрещено, `invalid_date_range` — Выбран слишком большой диапазон дат, `invalid_webhook_url` — Некорректный URL вебхука, `rate_limit` — Достигнут лимит запросов, `licenses_limit` — Превышен лимит активных сотрудников (пояснения вы получите в поле message), `user_limit` — Превышен лимит количества реакций, которые может добавить пользователь (20 уникальных реакций), `unique_limit` — Превышен лимит количества уникальных реакций, которые можно добавить на сообщение (30 уникальных реакций), `general_limit` — Превышен лимит количества реакций, которые можно добавить на сообщение (1000 реакций), `unhandled` — Ошибка выполнения запроса (пояснения вы получите в поле message), `trigger_not_found` — Не удалось найти идентификатор события, `trigger_expired` — Время жизни идентификатора события истекло, `required` — Обязательный параметр не передан, `in` — Недопустимое значение (не входит в список допустимых), `not_applicable` — Значение неприменимо в данном контексте (пояснения вы получите в поле message), `self_update` — Нельзя изменить свои собственные данные, `owner_protected` — Нельзя изменить данные владельца, `already_assigned` — Значение уже назначено, `forbidden` — Недостаточно прав для выполнения действия (пояснения вы получите в поле message), `permission_denied` — Доступ запрещён (недостаточно прав), `access_denied` — Доступ запрещён, `wrong_params` — Некорректные параметры запроса (пояснения вы получите в поле message), `payment_required` — Требуется оплата, `min_length` — Значение слишком короткое (пояснения вы получите в поле message), `max_length` — Значение слишком длинное (пояснения вы получите в поле message), `use_of_system_words` — Использовано зарезервированное системное слово (here, all), `export_file_not_found` — Файл экспорта не найден или ещё не готов, `cannot_kick_owner` — Нельзя исключить владельца чата, `pin_failed` — Не удалось закрепить сообщение, `message_deleted` — Сообщение удалено, `thread_message` — Нельзя создать тред для сообщения, которое уже находится в треде\n - `payload: Record