diff --git a/README.md b/README.md
index b920c44b..8853f184 100644
--- a/README.md
+++ b/README.md
@@ -414,16 +414,18 @@ description: Краткое описание для SEO
### Обновление API (changelog)
-В `content/updates.mdx`:
+Создайте файл `content/updates/<ГГГГ-ММ-ДД>.md` (один файл на дату) с frontmatter и markdown-телом:
```md
-
-## Название обновления
+---
+date: "2025-12-01"
+title: "Название обновления"
+---
- [Новый метод](POST /messages)
```
-Badge «Новое» показывается < 7 дней. Попадает в RSS feed.
+Badge «Новое» показывается < 7 дней. Попадает в RSS feed. Полные правила — [docs/updates-format.md](docs/updates-format.md).
### Кастомная схема для гайда
diff --git a/apps/docs/content/api/models.mdx b/apps/docs/content/api/models.mdx
index 606be86e..315a924b 100644
--- a/apps/docs/content/api/models.mdx
+++ b/apps/docs/content/api/models.mdx
@@ -23,7 +23,7 @@ hideTableOfContents: true
-
+
@@ -153,6 +153,8 @@ hideTableOfContents: true
## Параметры бота
+- [Создание бота](POST /bots)
+- [Получение бота](GET /bots/{id})
- [Редактирование бота](PUT /bots/{id})
diff --git a/apps/docs/content/guides/bots/setup.mdx b/apps/docs/content/guides/bots/setup.mdx
index 96fdc974..79625317 100644
--- a/apps/docs/content/guides/bots/setup.mdx
+++ b/apps/docs/content/guides/bots/setup.mdx
@@ -10,10 +10,15 @@ related:
# Создание и настройка
-## Создание бота
+Бота можно создать двумя способами:
+
+- **Через интерфейс** — больше настроек (тип бота, аватар, доступы, шаблоны входящего вебхука) и наглядная пошаговая форма. Подходит для разовой ручной настройки.
+- **Через API** ([Создание бота](POST /bots)) — программно, без интерфейса. Подходит для автоматизации: завести бота из своего сервиса или скрипта и сразу получить `access_token`.
+
+## Создание бота через интерфейс
- Создание и настройка ботов доступны в веб-версии и десктопном приложении Пачки. В мобильных приложениях (iOS и Android) эта возможность недоступна.
+ Создание и настройка ботов через интерфейс доступны в веб-версии и десктопном приложении Пачки. В мобильных приложениях (iOS и Android) эта возможность недоступна.
Для создания бота перейдите в **Автоматизации** > **Интеграции** > **Чат-боты и Вебхуки** и нажмите кнопку **«+»**.
@@ -43,6 +48,21 @@ related:
+## Создание бота через API
+
+Бота можно создать программно методом [Создание бота](POST /bots) — без интерфейса. Это удобно, когда нужно завести бота из своего сервиса или скрипта.
+
+
+
+ Передайте параметры бота в объекте `bot.webhook`: имя, никнейм, Webhook URL, список событий и команды. Никнейм должен заканчиваться на `_bot`.
+
+
+ В ответе вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка **API** настроек бота), там же его можно перевыпустить. Вместе с токеном придёт `id` бота (его `user_id`).
+
+
+
+Получить параметры существующего бота можно методом [Получение бота](GET /bots/{id}), а изменить — методом [Редактирование бота](PUT /bots/{id}).
+
## Профиль бота
Бот, как и любой участник пространства, имеет свой профиль. В нём отображаются имя, аватар, никнейм, статус и список общих чатов с ботом. Профиль бота можно редактировать — изменить имя, никнейм и другие поля.
diff --git a/apps/docs/content/guides/cli/installation.mdx b/apps/docs/content/guides/cli/installation.mdx
index fe2c810e..2b134e32 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.5.2 (актуальная версия)
+# ✔ CLI v2026.6.0 (актуальная версия)
```
## Обновление
diff --git a/apps/docs/content/updates/2026-06-15.md b/apps/docs/content/updates/2026-06-15.md
new file mode 100644
index 00000000..eba5f303
--- /dev/null
+++ b/apps/docs/content/updates/2026-06-15.md
@@ -0,0 +1,19 @@
+---
+date: "2026-06-15"
+title: "Создание ботов через API, голосовые сообщения"
+---
+
+Теперь бота можно создать и получить через API, а не только в интерфейсе. При создании вы получите `access_token` бота — сразу сохраните его, повторно получить токен можно только через интерфейс.
+
+Новые и обновлённые методы для ботов:
+
+- [Создание бота](POST /bots)
+- [Получение бота](GET /bots/{id})
+- [Редактирование бота](PUT /bots/{id})
+
+Появилась поддержка голосовых сообщений. В сообщении возвращается объект `voice_content` с длительностью, формой волны и расшифровкой, а при отправке файла с `file_type` = `voice` принимаются параметры `duration_ms` и `waveform`.
+
+- [Отправка нового сообщения](POST /messages)
+- [Редактирование сообщения](PUT /messages/{id})
+
+В payload вебхука реакции поле `created_at` теперь приходит и при удалении реакции. Также в деталях события аудита DLP поле `action_message` может быть `null`, если у действия правила не задан текст.
diff --git a/apps/docs/data/releases.json b/apps/docs/data/releases.json
index 6f932b52..46def14a 100644
--- a/apps/docs/data/releases.json
+++ b/apps/docs/data/releases.json
@@ -1,4 +1,60 @@
[
+ {
+ "product": "cli",
+ "version": "2026.6.0",
+ "date": "2026-06-15",
+ "changes": [
+ {
+ "type": "+",
+ "command": "bots create",
+ "description": "Новая команда — создание бота и получение его access_token"
+ },
+ {
+ "type": "+",
+ "command": "bots get",
+ "description": "Новая команда — получение параметров бота"
+ },
+ {
+ "type": "~",
+ "command": "bots update",
+ "description": "Расширены поля редактирования бота: name, nickname, events, trigger_on, commands"
+ },
+ {
+ "type": "+",
+ "description": "В сообщениях появилось поле voice_content и параметры файлов duration_ms / waveform для голосовых сообщений"
+ }
+ ]
+ },
+ {
+ "product": "n8n",
+ "version": "2.0.10",
+ "date": "2026-06-15",
+ "changes": [
+ {
+ "type": "+",
+ "description": "Создание и получение ботов через API (POST /bots, GET /bots/{id})"
+ },
+ {
+ "type": "+",
+ "description": "Поддержка голосовых сообщений: поле voice_content и параметры duration_ms / waveform"
+ }
+ ]
+ },
+ {
+ "product": "sdk",
+ "version": "1.0.22",
+ "date": "2026-06-15",
+ "changes": [
+ {
+ "type": "+",
+ "description": "Методы создания и получения ботов: POST /bots, GET /bots/{id}"
+ },
+ {
+ "type": "+",
+ "description": "Поле voice_content в сообщении и параметры файлов duration_ms / waveform для голосовых сообщений"
+ }
+ ]
+ },
{
"product": "sdk",
"version": "1.0.21",
diff --git a/apps/docs/lib/code-generators/cli.ts b/apps/docs/lib/code-generators/cli.ts
index fd7565b9..c8b18f08 100644
--- a/apps/docs/lib/code-generators/cli.ts
+++ b/apps/docs/lib/code-generators/cli.ts
@@ -123,9 +123,15 @@ function valueToFlag(
}
} else if (typeof value === 'object') {
parts.push(`--${flag}='${JSON.stringify(value)}'`);
+ } else if (typeof value === 'number' || typeof value === 'bigint') {
+ parts.push(`--${flag}=${value}`);
} else {
const strValue = String(value);
- if (strValue.includes(' ')) {
+ // Квотируем только если в значении есть пробел или shell-метасимвол.
+ // Простые URL, идентификаторы, enum-значения и slug-и остаются без кавычек
+ // (по соглашению gh / Vercel / Heroku / AWS). Реальные URL с `?...&...`
+ // пользователь сам должен взять в кавычки при копировании.
+ if (/[\s&|;()<>*?$`\\'"#]/.test(strValue)) {
parts.push(`--${flag}="${strValue}"`);
} else {
parts.push(`--${flag}=${strValue}`);
@@ -190,9 +196,9 @@ function extractUnwrappedBodyFields(
if (s.readOnly) continue;
if (options?.requiredOnly && !innerRequired.includes(name)) continue;
const example = generateExample(s, 0, options);
- if (example !== undefined) {
- fields.push({ name, example, schemaType: s.type, format: s.format });
- }
+ if (example === undefined) continue;
+ if (isRedundantDefault(s, innerRequired.includes(name), example)) continue;
+ fields.push({ name, example, schemaType: s.type, format: s.format });
}
}
@@ -204,9 +210,9 @@ function extractUnwrappedBodyFields(
if (s.readOnly) continue;
if (options?.requiredOnly && !topRequired.includes(key)) continue;
const example = generateExample(s, 0, options);
- if (example !== undefined) {
- fields.push({ name: key, example, schemaType: s.type, format: s.format });
- }
+ if (example === undefined) continue;
+ if (isRedundantDefault(s, topRequired.includes(key), example)) continue;
+ fields.push({ name: key, example, schemaType: s.type, format: s.format });
}
return fields;
@@ -220,9 +226,14 @@ function extractUnwrappedBodyFields(
if (s.readOnly) continue;
if (options?.requiredOnly && !topRequired.includes(name)) continue;
const example = generateExample(s, 0, options);
- if (example !== undefined) {
- fields.push({ name, example, schemaType: s.type, format: s.format });
- }
+ if (example === undefined) continue;
+ if (isRedundantDefault(s, topRequired.includes(name), example)) continue;
+ fields.push({ name, example, schemaType: s.type, format: s.format });
}
return fields;
}
+
+/** Шум: опциональное поле, у которого пример равен дефолту схемы. Тождественно «не передавать поле». */
+function isRedundantDefault(schema: Schema, isRequired: boolean, example: unknown): boolean {
+ return !isRequired && schema.default !== undefined && example === schema.default;
+}
diff --git a/apps/docs/lib/openapi/example-generator.ts b/apps/docs/lib/openapi/example-generator.ts
index 0d7c7a32..35e6c5d0 100644
--- a/apps/docs/lib/openapi/example-generator.ts
+++ b/apps/docs/lib/openapi/example-generator.ts
@@ -82,8 +82,21 @@ export function generateExample(
}
const propExample = generateExample(ps, depth + 1, options);
+ const isRequired = requiredFields.includes(propName);
+
+ // Шум: опциональное поле, у которого сгенерированный пример равен дефолту,
+ // — это эквивалент «не передавать поле». Не засоряем им примеры.
+ if (
+ !isRequired &&
+ ps.default !== undefined &&
+ propExample !== undefined &&
+ propExample === ps.default
+ ) {
+ continue;
+ }
+
// Включаем свойство если оно обязательное или имеет пример
- if (propExample !== undefined || requiredFields.includes(propName)) {
+ if (propExample !== undefined || isRequired) {
example[propName] = propExample !== undefined ? propExample : null;
}
}
diff --git a/apps/docs/public/.well-known/agent-skills/index.json b/apps/docs/public/.well-known/agent-skills/index.json
index 5b9cbece..ae6e51dd 100644
--- a/apps/docs/public/.well-known/agent-skills/index.json
+++ b/apps/docs/public/.well-known/agent-skills/index.json
@@ -34,7 +34,7 @@
"type": "skill-md",
"description": "Pachca — управление ботами, вебхуки и превью ссылок. Используй этот скилл, когда пользователь хочет настроить бота, создать бота, настроить вебхуки, обработать вебхук, проверить подпись вебхука (X-Signature), обработать callback нажатия кнопки, создать дайджест-бота или настроить превью ссылок. НЕ для отправки обычных сообщений, показа форм или модальных окон.",
"url": "/.well-known/skills/pachca-bots/SKILL.md",
- "digest": "sha256:b04158006849498930d6fdba9448e6b05c09f3fc94ea6cab42b66a0fd22d96a5"
+ "digest": "sha256:cc703087c03b52896deff06ee4d4d63d4d1bb7ffdd2fde94a16da4563dfca45b"
},
{
"name": "pachca-forms",
diff --git a/apps/docs/public/.well-known/skills/index.json b/apps/docs/public/.well-known/skills/index.json
index 5b9cbece..ae6e51dd 100644
--- a/apps/docs/public/.well-known/skills/index.json
+++ b/apps/docs/public/.well-known/skills/index.json
@@ -34,7 +34,7 @@
"type": "skill-md",
"description": "Pachca — управление ботами, вебхуки и превью ссылок. Используй этот скилл, когда пользователь хочет настроить бота, создать бота, настроить вебхуки, обработать вебхук, проверить подпись вебхука (X-Signature), обработать callback нажатия кнопки, создать дайджест-бота или настроить превью ссылок. НЕ для отправки обычных сообщений, показа форм или модальных окон.",
"url": "/.well-known/skills/pachca-bots/SKILL.md",
- "digest": "sha256:b04158006849498930d6fdba9448e6b05c09f3fc94ea6cab42b66a0fd22d96a5"
+ "digest": "sha256:cc703087c03b52896deff06ee4d4d63d4d1bb7ffdd2fde94a16da4563dfca45b"
},
{
"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 57adf99b..43a09ea8 100644
--- a/apps/docs/public/.well-known/skills/pachca-bots/SKILL.md
+++ b/apps/docs/public/.well-known/skills/pachca-bots/SKILL.md
@@ -47,15 +47,32 @@ Help: `npx -y @pachca/cli --help` | Workflows: `npx -y @pachca/cli guide`
## Workflows
+### Создать бота через API и получить токен
+
+1. Создай бота. Только пользовательским токеном (не токеном бота); `nickname` обязан заканчиваться на `_bot`. Параметры вебхука (Webhook URL, события, команды) можно задать сразу или позже:
+ ```bash
+ pachca bots create --bot='{"webhook":{"name":"Бот задач","nickname":"tasks_bot"}}'
+ ```
+
+2. Сохрани `access_token` из ответа — он возвращается единственный раз. Повторно получить токен можно только через интерфейс (вкладка «API» настроек бота)
+
+3. В ответе также придёт `id` бота (его `user_id`) — он нужен для дальнейших вызовов, например чтобы добавить бота в чат
+
+> Создавать ботов можно только пользовательским токеном — токеном бота нельзя. `access_token` отдаётся один раз при создании, дальше его можно посмотреть и скопировать в интерфейсе.
+
+
### Настроить бота с исходящим вебхуком
-1. Создай бота в интерфейсе Пачки: Автоматизации → Интеграции → Webhook
+1. Создай бота, сразу указав Webhook URL и события в одном вызове (детали создания и работы с токеном — в сценарии «Создать бота через API и получить токен»):
+ ```bash
+ pachca bots create --bot='{"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://example.com/webhook","events":["message_new"],"trigger_on":"commands","commands":["/task"]}}'
+ ```
-2. Получи `access_token` бота во вкладке «API» настроек бота
+2. Сохрани `access_token` из ответа (возвращается единственный раз)
-3. Укажи Webhook URL для получения событий
+3. Используй сохранённый `access_token` для отправки сообщений от имени бота
-> Бот создаётся через UI, не через API. Единственный эндпоинт для ботов — PUT /bots/{id} (обновление webhook URL). API используется для отправки сообщений от имени бота.
+> Альтернатива — создать и настроить бота в интерфейсе. Webhook URL и события можно задать и позже методом PUT /bots/{id}.
### Обновить Webhook URL бота
@@ -86,6 +103,7 @@ Help: `npx -y @pachca/cli --help` | Workflows: `npx -y @pachca/cli guide`
## Limitations
- Rate limit: ~50 req/sec. On 429 — wait and retry.
+- `bot.webhook.trigger_on`: allowed values — `commands` (Только на команды (триггер-слова) из commands), `all_messages` (На все сообщения в чатах, где есть бот), `unfurl` (На развёртывание ссылок (link previews))
- `limit`: max 50
- Pagination: cursor-based (limit + cursor)
@@ -93,6 +111,8 @@ Help: `npx -y @pachca/cli --help` | Workflows: `npx -y @pachca/cli guide`
| Method | Path | Description |
|--------|------|-------------|
+| POST | /bots | Создание бота |
+| GET | /bots/{id} | Получение бота |
| PUT | /bots/{id} | Редактирование бота |
| POST | /messages/{id}/link_previews | Unfurl (разворачивание ссылок) |
| GET | /webhooks/events | История событий |
diff --git a/apps/docs/public/api/bots/create.md b/apps/docs/public/api/bots/create.md
new file mode 100644
index 00000000..a637eb37
--- /dev/null
+++ b/apps/docs/public/api/bots/create.md
@@ -0,0 +1,214 @@
+> Расположение: Методы API → Боты и Webhook
+> Краткое содержание: Метод для создания бота и получения его accesstoken.
+> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://dev.pachca.com/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.
+
+# Создание бота
+
+**Метод**: `POST`
+
+**Путь**: `/bots`
+
+> **Скоуп:** `bots:write`
+
+Метод для создания бота и получения его `access_token`.
+
+При создании вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка «API» настроек бота).
+
+## Тело запроса
+
+**Обязательно**
+
+Формат: `application/json`
+
+### Схема
+
+- `bot: object` (required) — Собранный объект параметров создаваемого бота
+ - `webhook: object` (required) — Объект параметров вебхука бота
+ - `name: string` (required) — Имя бота. Пример: `"Бот задач"`
+ - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `"tasks_bot"`
+ - `outgoing_url: string` — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `events: array of string` — События, на которые подписан бот. Пример: `["message_new"]`
+ - `trigger_on: string` — Условие срабатывания исходящего вебхука
+ Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)
+ - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `["/task","/help"]`
+
+### Пример
+
+```json
+{
+ "bot": {
+ "webhook": {
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
+ }
+ }
+}
+```
+
+## Пример запроса
+
+```bash
+curl "https://api.pachca.com/api/shared/v1/bots" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "bot": {
+ "webhook": {
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
+ }
+ }
+}'
+```
+
+## Ответы
+
+### 201: The request has succeeded and a new resource has been created as a result.
+
+**Схема ответа:**
+
+- `data: 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"]`
+ - `access_token: string` (required) — Токен доступа бота. Выдаётся только при создании. Повторно получить токен можно только через интерфейс (вкладка «API» настроек бота).. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
+
+**Пример ответа:**
+
+```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"
+ ]
+ },
+ "access_token": "bm90X2FfcmVhbF90b2tlbg"
+ }
+}
+```
+
+### 400: The server could not understand the request due to invalid syntax.
+
+**Схема ответа при ошибке:**
+
+- `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)
+ - `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
+ }
+ ]
+}
+```
+
+### 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)
+ - `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/get.md b/apps/docs/public/api/bots/get.md
new file mode 100644
index 00000000..05ad52b7
--- /dev/null
+++ b/apps/docs/public/api/bots/get.md
@@ -0,0 +1,159 @@
+> Расположение: Методы API → Боты и Webhook
+> Краткое содержание: Метод для получения параметров бота по его userid.
+> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://dev.pachca.com/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.
+
+# Получение бота
+
+**Метод**: `GET`
+
+**Путь**: `/bots/{id}`
+
+> **Скоуп:** `bots:read`
+
+Метод для получения параметров бота по его `user_id`.
+
+## Параметры
+
+### Path параметры
+
+- `id: integer, int32` (required) — Идентификатор бота
+
+
+## Пример запроса
+
+```bash
+curl "https://api.pachca.com/api/shared/v1/bots/1738816" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
+```
+
+## Ответы
+
+### 200: The request has succeeded.
+
+**Схема ответа:**
+
+- `data: 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"]`
+
+**Пример ответа:**
+
+```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"
+ ]
+ }
+ }
+}
+```
+
+### 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)
+ - `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)
+ - `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/list-events.md b/apps/docs/public/api/bots/list-events.md
index 9b3329b7..011bb9e8 100644
--- a/apps/docs/public/api/bots/list-events.md
+++ b/apps/docs/public/api/bots/list-events.md
@@ -73,7 +73,7 @@ curl "https://api.pachca.com/api/shared/v1/webhooks/events?limit=1" \
- `code: string` (required) — Emoji символ реакции. Пример: `"👍"`
- `name: string` (required) — Название реакции. Пример: `"thumbsup"`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил или удалил реакцию. Пример: `2345`
- - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.. Пример: `"2025-05-15T14:30:00.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- **ButtonWebhookPayload**: Структура исходящего вебхука о нажатии кнопки
- `type: string` (required) — Тип объекта. Пример: `"button"`
@@ -93,9 +93,9 @@ curl "https://api.pachca.com/api/shared/v1/webhooks/events?limit=1" \
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
- - `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
- - `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+ - `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
diff --git a/apps/docs/public/api/bots/update.md b/apps/docs/public/api/bots/update.md
index 98c73fb4..75d88f6b 100644
--- a/apps/docs/public/api/bots/update.md
+++ b/apps/docs/public/api/bots/update.md
@@ -12,7 +12,7 @@
Метод для редактирования бота.
-Для редактирования бота вам необходимо знать его `user_id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса. Узнать `user_id` бота можно в настройках бота во вкладке «API».
+Для редактирования бота вам необходимо знать его `user_id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса.
Вы не можете редактировать бота, настройки которого вам недоступны (поле «Кто может редактировать настройки бота» находится во вкладке «Основное» в настройках бота).
@@ -33,7 +33,13 @@
- `bot: object` (required) — Собранный объект параметров редактируемого бота
- `webhook: object` (required) — Объект параметров вебхука
- - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `name: string` — Имя бота. Пример: `"Бот задач"`
+ - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `"tasks_bot"`
+ - `outgoing_url: string` — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `events: array of string` — События, на которые подписан бот. Пример: `["message_new"]`
+ - `trigger_on: string` — Условие срабатывания исходящего вебхука
+ Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)
+ - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `["/task","/help"]`
### Пример
@@ -41,7 +47,17 @@
{
"bot": {
"webhook": {
- "outgoing_url": "https://www.website.com/tasks/new"
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
}
}
}
@@ -56,7 +72,17 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
-d '{
"bot": {
"webhook": {
- "outgoing_url": "https://www.website.com/tasks/new"
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
}
}
}'
@@ -69,9 +95,15 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
**Схема ответа:**
- `data: object` (required) — Параметры бота
- - `id: integer, int32` (required) — Идентификатор бота. Пример: `1738816`
+ - `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"]`
**Пример ответа:**
@@ -80,7 +112,16 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
"data": {
"id": 1738816,
"webhook": {
- "outgoing_url": "https://www.website.com/tasks/new"
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task"
+ ]
}
}
}
diff --git a/apps/docs/public/api/chats/create.md b/apps/docs/public/api/chats/create.md
index 2476941f..5644e31b 100644
--- a/apps/docs/public/api/chats/create.md
+++ b/apps/docs/public/api/chats/create.md
@@ -45,8 +45,7 @@
86,
18
],
- "channel": true,
- "public": false
+ "channel": true
}
}
```
@@ -68,8 +67,7 @@ curl "https://api.pachca.com/api/shared/v1/chats" \
86,
18
],
- "channel": true,
- "public": false
+ "channel": true
}
}'
```
diff --git a/apps/docs/public/api/llms.txt b/apps/docs/public/api/llms.txt
index 710279bc..f1b8ce8f 100644
--- a/apps/docs/public/api/llms.txt
+++ b/apps/docs/public/api/llms.txt
@@ -107,6 +107,8 @@
- [Открытие представления](https://dev.pachca.com/api/views/open.md): POST /views/open
## 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/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/messages/create.md b/apps/docs/public/api/messages/create.md
index 6ec58dd3..45f188a9 100644
--- a/apps/docs/public/api/messages/create.md
+++ b/apps/docs/public/api/messages/create.md
@@ -33,10 +33,12 @@
- `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url). Пример: `"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png"`
- `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением). Пример: `"logo.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `size: integer, int32` (required) — Размер файла в байтах, отображаемый пользователю. Пример: `12345`
- `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image). Пример: `800`
- `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image). Пример: `600`
+ - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `5400`
+ - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `"4,8,12,20,16,10,6,3"`
- `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.. Пример: `[[{"text":"Подробнее","url":"https://example.com/details"},{"text":"Отлично!","data":"awesome"}]]`
- `parent_message_id: integer, int32` — Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.. Пример: `194270`
- `display_avatar_url: string` (max length: 255) — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `"https://example.com/avatar.png"`
@@ -49,7 +51,6 @@
```json
{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -59,7 +60,9 @@
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -76,10 +79,8 @@
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}
```
@@ -91,7 +92,6 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -101,7 +101,9 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -118,10 +120,8 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}'
```
@@ -147,10 +147,14 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -194,6 +198,11 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
diff --git a/apps/docs/public/api/messages/get.md b/apps/docs/public/api/messages/get.md
index 3d53d6b5..39e7c655 100644
--- a/apps/docs/public/api/messages/get.md
+++ b/apps/docs/public/api/messages/get.md
@@ -50,10 +50,14 @@ curl "https://api.pachca.com/api/shared/v1/messages/194275" \
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -97,6 +101,11 @@ curl "https://api.pachca.com/api/shared/v1/messages/194275" \
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
diff --git a/apps/docs/public/api/messages/list.md b/apps/docs/public/api/messages/list.md
index a49b15a5..edb3dd71 100644
--- a/apps/docs/public/api/messages/list.md
+++ b/apps/docs/public/api/messages/list.md
@@ -55,10 +55,14 @@ curl "https://api.pachca.com/api/shared/v1/messages?chat_id=198&sort=id&order=de
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -109,6 +113,11 @@ curl "https://api.pachca.com/api/shared/v1/messages?chat_id=198&sort=id&order=de
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
diff --git a/apps/docs/public/api/messages/update.md b/apps/docs/public/api/messages/update.md
index 92f70aff..9c3c1b61 100644
--- a/apps/docs/public/api/messages/update.md
+++ b/apps/docs/public/api/messages/update.md
@@ -34,10 +34,13 @@
- `files: array of object` — Прикрепляемые файлы
- `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url). Пример: `"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png"`
- `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением). Пример: `"logo.png"`
- - `file_type: string` — Тип файла: файл (file), изображение (image). Пример: `"image"`
+ - `file_type: string` — Тип файла
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `size: integer, int32` — Размер файла в байтах, отображаемый пользователю. Пример: `12345`
- `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image). Пример: `800`
- `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image). Пример: `600`
+ - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `5400`
+ - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `"4,8,12,20,16,10,6,3"`
- `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке. Для удаления кнопок пришлите пустой массив.. Пример: `[[{"text":"Подробнее","url":"https://example.com/details"}]]`
- `display_avatar_url: string` — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `"https://example.com/avatar.png"`
- `display_name: string` — Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `"Бот Поддержки"`
@@ -55,7 +58,9 @@
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -88,7 +93,9 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/messages/194275" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -127,10 +134,14 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/messages/194275" \
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -174,6 +185,11 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/messages/194275" \
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
diff --git a/apps/docs/public/api/models.md b/apps/docs/public/api/models.md
index 956ff68a..2de758d6 100644
--- a/apps/docs/public/api/models.md
+++ b/apps/docs/public/api/models.md
@@ -213,10 +213,14 @@
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+- `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -294,7 +298,7 @@
- `callback_id: string` (max length: 255) — Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь.. Пример: `"timeoff_reguest_form"`
- `view: object` (required) — Собранный объект представления
- `title: string` (required, max length: 24) — Заголовок представления. Пример: `"Уведомление об отпуске"`
- - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Пример: `"Закрыть"`
+ - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается.. Пример: `"Закрыть"`
- `submit_text: string` (default: Отправить, max length: 24) — Текст кнопки отправки формы. Пример: `"Отправить заявку"`
- `blocks: array (union)` (required, max items: 100) — Массив блоков представления
**Возможные типы элементов:**
@@ -334,7 +338,6 @@
- `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке
- `text: string` (required, max length: 75) — Отображаемый текст
- `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта
- - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом
- `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.
- `required: boolean` — Обязательность
- `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом
@@ -391,13 +394,21 @@
## Параметры бота
+- [Создание бота](POST /bots)
+- [Получение бота](GET /bots/{id})
- [Редактирование бота](PUT /bots/{id})
Параметры бота
-- `id: integer, int32` (required) — Идентификатор бота. Пример: `1738816`
+- `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"]`
## Событие исходящего вебхука
@@ -441,7 +452,7 @@
- `code: string` (required) — Emoji символ реакции. Пример: `"👍"`
- `name: string` (required) — Название реакции. Пример: `"thumbsup"`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил или удалил реакцию. Пример: `2345`
- - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.. Пример: `"2025-05-15T14:30:00.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- **ButtonWebhookPayload**: Структура исходящего вебхука о нажатии кнопки
- `type: string` (required) — Тип объекта. Пример: `"button"`
@@ -461,9 +472,9 @@
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
- - `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
- - `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+ - `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
@@ -554,7 +565,7 @@
- `message_id: integer, int32` (required) — Идентификатор сообщения
- `chat_id: integer, int32` (required) — Идентификатор чата
- `user_id: integer, int32` (required) — Идентификатор пользователя
- - `action_message: string` (required) — Описание действия
+ - `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.
- `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)
- **AuditDetailsSearch**: При: search_users_api, search_chats_api, search_messages_api
- `search_type: string` (required) — Тип поиска
diff --git a/apps/docs/public/api/search/list-messages.md b/apps/docs/public/api/search/list-messages.md
index 15e00bd4..7c5e9b08 100644
--- a/apps/docs/public/api/search/list-messages.md
+++ b/apps/docs/public/api/search/list-messages.md
@@ -58,10 +58,14 @@ curl "https://api.pachca.com/api/shared/v1/search/messages?query=футболк
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -110,6 +114,11 @@ curl "https://api.pachca.com/api/shared/v1/search/messages?query=футболк
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
diff --git a/apps/docs/public/api/security/list.md b/apps/docs/public/api/security/list.md
index 6200cd05..7ffff11b 100644
--- a/apps/docs/public/api/security/list.md
+++ b/apps/docs/public/api/security/list.md
@@ -91,7 +91,7 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09
- `message_id: integer, int32` (required) — Идентификатор сообщения
- `chat_id: integer, int32` (required) — Идентификатор чата
- `user_id: integer, int32` (required) — Идентификатор пользователя
- - `action_message: string` (required) — Описание действия
+ - `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.
- `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)
- **AuditDetailsSearch**: При: search_users_api, search_chats_api, search_messages_api
- `search_type: string` (required) — Тип поиска
diff --git a/apps/docs/public/api/views/open.md b/apps/docs/public/api/views/open.md
index 37e34cd4..1eebce1f 100644
--- a/apps/docs/public/api/views/open.md
+++ b/apps/docs/public/api/views/open.md
@@ -29,7 +29,7 @@
- `callback_id: string` (max length: 255) — Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь.. Пример: `"timeoff_reguest_form"`
- `view: object` (required) — Собранный объект представления
- `title: string` (required, max length: 24) — Заголовок представления. Пример: `"Уведомление об отпуске"`
- - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Пример: `"Закрыть"`
+ - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается.. Пример: `"Закрыть"`
- `submit_text: string` (default: Отправить, max length: 24) — Текст кнопки отправки формы. Пример: `"Отправить заявку"`
- `blocks: array (union)` (required, max items: 100) — Массив блоков представления
**Возможные типы элементов:**
@@ -69,7 +69,6 @@
- `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке
- `text: string` (required, max length: 75) — Отображаемый текст
- `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта
- - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом
- `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.
- `required: boolean` — Обязательность
- `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом
@@ -171,7 +170,6 @@
{
"text": "Ничего",
"value": "nothing",
- "description": "Каждый день бот будет присылать список новых задач в вашей команде",
"selected": true
}
],
@@ -293,7 +291,6 @@ curl "https://api.pachca.com/api/shared/v1/views/open" \
{
"text": "Ничего",
"value": "nothing",
- "description": "Каждый день бот будет присылать список новых задач в вашей команде",
"selected": true
}
],
diff --git a/apps/docs/public/guides/bots/setup.md b/apps/docs/public/guides/bots/setup.md
index 281a640d..07948dec 100644
--- a/apps/docs/public/guides/bots/setup.md
+++ b/apps/docs/public/guides/bots/setup.md
@@ -5,9 +5,14 @@
# Создание и настройка
-## Создание бота
+Бота можно создать двумя способами:
-> **Внимание:** Создание и настройка ботов доступны в веб-версии и десктопном приложении Пачки. В мобильных приложениях (iOS и Android) эта возможность недоступна.
+- **Через интерфейс** — больше настроек (тип бота, аватар, доступы, шаблоны входящего вебхука) и наглядная пошаговая форма. Подходит для разовой ручной настройки.
+- **Через API** ([Создание бота](POST /bots)) — программно, без интерфейса. Подходит для автоматизации: завести бота из своего сервиса или скрипта и сразу получить `access_token`.
+
+## Создание бота через интерфейс
+
+> **Внимание:** Создание и настройка ботов через интерфейс доступны в веб-версии и десктопном приложении Пачки. В мобильных приложениях (iOS и Android) эта возможность недоступна.
Для создания бота перейдите в **Автоматизации** > **Интеграции** > **Чат-боты и Вебхуки** и нажмите кнопку **«+»**.
@@ -44,6 +49,23 @@
Для получения событий от Пачки перейдите на вкладку **Исходящий Webhook**: укажите **Webhook URL**, на который будут приходить уведомления, и выберите типы событий (новые сообщения, реакции, нажатия кнопок и другие). Подробнее — в разделе [Исходящие вебхуки](/guides/webhook/overview).
+## Создание бота через API
+
+Бота можно создать программно методом [Создание бота](POST /bots) — без интерфейса. Это удобно, когда нужно завести бота из своего сервиса или скрипта.
+
+
+ ### Шаг 1. Отправьте запрос на создание
+
+Передайте параметры бота в объекте `bot.webhook`: имя, никнейм, Webhook URL, список событий и команды. Никнейм должен заканчиваться на `_bot`.
+
+
+ ### Шаг 2. Сохраните access_token
+
+В ответе вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка **API** настроек бота), там же его можно перевыпустить. Вместе с токеном придёт `id` бота (его `user_id`).
+
+
+Получить параметры существующего бота можно методом [Получение бота](GET /bots/{id}), а изменить — методом [Редактирование бота](PUT /bots/{id}).
+
## Профиль бота
Бот, как и любой участник пространства, имеет свой профиль. В нём отображаются имя, аватар, никнейм, статус и список общих чатов с ботом. Профиль бота можно редактировать — изменить имя, никнейм и другие поля.
diff --git a/apps/docs/public/guides/buttons.md b/apps/docs/public/guides/buttons.md
index 137f332c..99ce5843 100644
--- a/apps/docs/public/guides/buttons.md
+++ b/apps/docs/public/guides/buttons.md
@@ -76,7 +76,6 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -86,7 +85,9 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -103,10 +104,8 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}'
```
diff --git a/apps/docs/public/guides/cli/commands.md b/apps/docs/public/guides/cli/commands.md
index 5d11e2fc..fc723f13 100644
--- a/apps/docs/public/guides/cli/commands.md
+++ b/apps/docs/public/guides/cli/commands.md
@@ -29,6 +29,8 @@ dev.pachca.com/api/members/add → pachca members add
| `pachca auth logout` | Удаление сохранённого профиля |
| `pachca auth status` | Статус текущего профиля |
| `pachca auth switch` | Переключение активного профиля |
+| `pachca bots create` | `POST` Создание бота |
+| `pachca bots get` | `GET` Получение бота |
| `pachca bots list-events` | `GET` История событий |
| `pachca bots remove-event` | `DELETE` Удаление события |
| `pachca bots update` | `PUT` Редактирование бота |
diff --git a/apps/docs/public/guides/cli/installation.md b/apps/docs/public/guides/cli/installation.md
index 44797b9c..92d42470 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.5.2 (актуальная версия)
+# ✔ CLI v2026.6.0 (актуальная версия)
```
## Обновление
diff --git a/apps/docs/public/guides/dlp.md b/apps/docs/public/guides/dlp.md
index a12b4f7d..e0a097c2 100644
--- a/apps/docs/public/guides/dlp.md
+++ b/apps/docs/public/guides/dlp.md
@@ -193,7 +193,7 @@
- `message_id: integer, int32` (required) — Идентификатор сообщения
- `chat_id: integer, int32` (required) — Идентификатор чата
- `user_id: integer, int32` (required) — Идентификатор пользователя
-- `action_message: string` (required) — Описание действия
+- `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.
- `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)
diff --git a/apps/docs/public/guides/forms/blocks.md b/apps/docs/public/guides/forms/blocks.md
index 1bc25473..4982ac72 100644
--- a/apps/docs/public/guides/forms/blocks.md
+++ b/apps/docs/public/guides/forms/blocks.md
@@ -102,7 +102,6 @@
- `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке
- `text: string` (required, max length: 75) — Отображаемый текст. Пример: `"Ничего"`
- `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта. Пример: `"nothing"`
- - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом. Пример: `"Каждый день бот будет присылать список новых задач в вашей команде"`
- `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.. Пример: `true`
- `required: boolean` — Обязательность. Пример: `false`
- `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом. Пример: `"Выберите одну из команд"`
diff --git a/apps/docs/public/guides/forms/handling.md b/apps/docs/public/guides/forms/handling.md
index e135e2ca..82a41af4 100644
--- a/apps/docs/public/guides/forms/handling.md
+++ b/apps/docs/public/guides/forms/handling.md
@@ -35,9 +35,9 @@
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
-- `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+- `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
-- `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+- `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
diff --git a/apps/docs/public/guides/quickstart.md b/apps/docs/public/guides/quickstart.md
index 99bedee4..37bcc90a 100644
--- a/apps/docs/public/guides/quickstart.md
+++ b/apps/docs/public/guides/quickstart.md
@@ -60,8 +60,7 @@ curl "https://api.pachca.com/api/shared/v1/chats" \
86,
18
],
- "channel": true,
- "public": false
+ "channel": true
}
}'
```
diff --git a/apps/docs/public/guides/sdk/csharp.md b/apps/docs/public/guides/sdk/csharp.md
index e304b1f2..70d7eb8d 100644
--- a/apps/docs/public/guides/sdk/csharp.md
+++ b/apps/docs/public/guides/sdk/csharp.md
@@ -130,6 +130,8 @@ using var client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.co
| `client.Tasks.UpdateTaskAsync()` | [Редактирование напоминания](/api/tasks/update) |
| `client.Tasks.DeleteTaskAsync()` | [Удаление напоминания](/api/tasks/delete) |
| `client.Views.OpenViewAsync()` | [Открытие представления](/api/views/open) |
+| `client.Bots.CreateBotAsync()` | [Создание бота](/api/bots/create) |
+| `client.Bots.GetBotAsync()` | [Получение бота](/api/bots/get) |
| `client.Bots.GetWebhookEventsAsync()` | [История событий](/api/bots/list-events) |
| `client.Bots.UpdateBotAsync()` | [Редактирование бота](/api/bots/update) |
| `client.Bots.DeleteWebhookEventAsync()` | [Удаление события](/api/bots/remove-event) |
@@ -402,7 +404,9 @@ var request = new MessageCreateRequest
FileType = FileType.Image,
Size = 12345,
Width = 800,
- Height = 600
+ Height = 600,
+ DurationMs = 5400,
+ Waveform = "4,8,12,20,16,10,6,3"
} },
Buttons = new List> { new List { new Button
{
@@ -418,7 +422,7 @@ var request = new MessageCreateRequest
LinkPreview = false
};
var response = await client.Messages.CreateMessageAsync(request);
-// → Message(Id: int, EntityType: MessageEntityType, EntityId: int, ChatId: int, RootChatId: int, Content: string, UserId: int, CreatedAt: DateTimeOffset, Url: string, Files: List, Buttons: List>?, Thread: MessageThread(Id: long, ChatId: long)?, Forwarding: Forwarding(OriginalMessageId: int, OriginalChatId: int, AuthorId: int, OriginalCreatedAt: DateTimeOffset, OriginalThreadId: int?, OriginalThreadMessageId: int?, OriginalThreadParentChatId: int?)?, ParentMessageId: int?, DisplayAvatarUrl: string?, DisplayName: string?, ChangedAt: DateTimeOffset?, DeletedAt: DateTimeOffset?)
+// → Message(Id: int, EntityType: MessageEntityType, EntityId: int, ChatId: int, RootChatId: int, Content: string, UserId: int, CreatedAt: DateTimeOffset, Url: string, Files: List, VoiceContent: VoiceContent(DurationMs: int, Waveform: string, Transcript: string?)?, Buttons: List>?, Thread: MessageThread(Id: long, ChatId: long)?, Forwarding: Forwarding(OriginalMessageId: int, OriginalChatId: int, AuthorId: int, OriginalCreatedAt: DateTimeOffset, OriginalThreadId: int?, OriginalThreadMessageId: int?, OriginalThreadParentChatId: int?)?, ParentMessageId: int?, DisplayAvatarUrl: string?, DisplayName: string?, ChangedAt: DateTimeOffset?, DeletedAt: DateTimeOffset?)
// Список сотрудников
var response = await client.Users.ListUsersAsync("Олег", 1, "eyJpZCI6MTAsImRpciI6ImFzYyJ9");
diff --git a/apps/docs/public/guides/sdk/go.md b/apps/docs/public/guides/sdk/go.md
index 784b3134..e03c842e 100644
--- a/apps/docs/public/guides/sdk/go.md
+++ b/apps/docs/public/guides/sdk/go.md
@@ -137,6 +137,8 @@ user, err := client.Profile.GetProfile(ctx)
| `client.Tasks.UpdateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.Tasks.DeleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.Views.OpenView()` | [Открытие представления](/api/views/open) |
+| `client.Bots.CreateBot()` | [Создание бота](/api/bots/create) |
+| `client.Bots.GetBot()` | [Получение бота](/api/bots/get) |
| `client.Bots.GetWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.Bots.UpdateBot()` | [Редактирование бота](/api/bots/update) |
| `client.Bots.DeleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -376,6 +378,8 @@ request := MessageCreateRequest{
Size: int32(12345),
Width: Ptr(int32(800)),
Height: Ptr(int32(600)),
+ DurationMs: Ptr(int32(5400)),
+ Waveform: Ptr("4,8,12,20,16,10,6,3"),
}},
Buttons: [][]Button{[]Button{Button{
Text: "Подробнее",
@@ -390,7 +394,7 @@ request := MessageCreateRequest{
LinkPreview: Ptr(false),
}
response, err := client.Messages.CreateMessage(ctx, request)
-// → Message{ID: int32, EntityType: MessageEntityType, EntityID: int32, ChatID: int32, RootChatID: int32, Content: string, UserID: int32, CreatedAt: string, URL: string, Files: []File{ID: int32, Key: string, Name: string, FileType: FileType, URL: string, Width: *int32, Height: *int32}, Buttons: *[][]Button{Text: string, URL: *string, Data: *string}, Thread: *MessageThread{ID: int64, ChatID: int64}, Forwarding: *Forwarding{OriginalMessageID: int32, OriginalChatID: int32, AuthorID: int32, OriginalCreatedAt: string, OriginalThreadID: *int32, OriginalThreadMessageID: *int32, OriginalThreadParentChatID: *int32}, ParentMessageID: *int32, DisplayAvatarURL: *string, DisplayName: *string, ChangedAt: *string, DeletedAt: *string}
+// → Message{ID: int32, EntityType: MessageEntityType, EntityID: int32, ChatID: int32, RootChatID: int32, Content: string, UserID: int32, CreatedAt: string, URL: string, Files: []File{ID: int32, Key: string, Name: string, FileType: FileType, URL: string, Width: *int32, Height: *int32}, VoiceContent: *VoiceContent{DurationMs: int32, Waveform: string, Transcript: *string}, Buttons: *[][]Button{Text: string, URL: *string, Data: *string}, Thread: *MessageThread{ID: int64, ChatID: int64}, Forwarding: *Forwarding{OriginalMessageID: int32, OriginalChatID: int32, AuthorID: int32, OriginalCreatedAt: string, OriginalThreadID: *int32, OriginalThreadMessageID: *int32, OriginalThreadParentChatID: *int32}, ParentMessageID: *int32, DisplayAvatarURL: *string, DisplayName: *string, ChangedAt: *string, DeletedAt: *string}
// Список сотрудников
params := &ListUsersParams{
diff --git a/apps/docs/public/guides/sdk/kotlin.md b/apps/docs/public/guides/sdk/kotlin.md
index 413f5258..9d269252 100644
--- a/apps/docs/public/guides/sdk/kotlin.md
+++ b/apps/docs/public/guides/sdk/kotlin.md
@@ -145,6 +145,8 @@ client.close()
| `client.tasks.updateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.deleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.openView()` | [Открытие представления](/api/views/open) |
+| `client.bots.createBot()` | [Создание бота](/api/bots/create) |
+| `client.bots.getBot()` | [Получение бота](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -375,7 +377,9 @@ val request = MessageCreateRequest(
fileType = FileType.IMAGE,
size = 12345,
width = 800,
- height = 600
+ height = 600,
+ durationMs = 5400,
+ waveform = "4,8,12,20,16,10,6,3"
)),
buttons = listOf(listOf(Button(
text = "Подробнее",
@@ -390,7 +394,7 @@ val request = MessageCreateRequest(
linkPreview = false
)
val response = client.messages.createMessage(request = request)
-// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: OffsetDateTime, url: String, files: List, buttons: List>?, thread: MessageThread(id: Long, chatId: Long)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: OffsetDateTime, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: OffsetDateTime?, deletedAt: OffsetDateTime?)
+// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: OffsetDateTime, url: String, files: List, voiceContent: VoiceContent(durationMs: Int, waveform: String, transcript: String?)?, buttons: List>?, thread: MessageThread(id: Long, chatId: Long)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: OffsetDateTime, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: OffsetDateTime?, deletedAt: OffsetDateTime?)
// Список сотрудников
val response = client.users.listUsers(query = "Олег", limit = 1, cursor = "eyJpZCI6MTAsImRpciI6ImFzYyJ9")
diff --git a/apps/docs/public/guides/sdk/python.md b/apps/docs/public/guides/sdk/python.md
index 2baa0909..d7364df1 100644
--- a/apps/docs/public/guides/sdk/python.md
+++ b/apps/docs/public/guides/sdk/python.md
@@ -135,6 +135,8 @@ await client.close()
| `client.tasks.update_task()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.delete_task()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.open_view()` | [Открытие представления](/api/views/open) |
+| `client.bots.create_bot()` | [Создание бота](/api/bots/create) |
+| `client.bots.get_bot()` | [Получение бота](/api/bots/get) |
| `client.bots.get_webhook_events()` | [История событий](/api/bots/list-events) |
| `client.bots.update_bot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.delete_webhook_event()` | [Удаление события](/api/bots/remove-event) |
@@ -353,7 +355,9 @@ request = MessageCreateRequest(
file_type=FileType.IMAGE,
size=12345,
width=800,
- height=600
+ height=600,
+ duration_ms=5400,
+ waveform="4,8,12,20,16,10,6,3"
)],
buttons=[[Button(
text="Подробнее",
@@ -368,7 +372,7 @@ request = MessageCreateRequest(
link_preview=False
)
response = await client.messages.create_message(request=request)
-# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
+# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], voice_content: VoiceContent(duration_ms: int, waveform: str, transcript: str | None) | None, buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
# Список сотрудников
params = ListUsersParams(
diff --git a/apps/docs/public/guides/sdk/swift.md b/apps/docs/public/guides/sdk/swift.md
index 69306073..709dd1f3 100644
--- a/apps/docs/public/guides/sdk/swift.md
+++ b/apps/docs/public/guides/sdk/swift.md
@@ -136,6 +136,8 @@ let client = PachcaClient(token: "YOUR_TOKEN", baseURL: "https://custom-api.exam
| `client.tasks.updateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.deleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.openView()` | [Открытие представления](/api/views/open) |
+| `client.bots.createBot()` | [Создание бота](/api/bots/create) |
+| `client.bots.getBot()` | [Получение бота](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -344,7 +346,9 @@ let body = MessageCreateRequest(
fileType: .image,
size: 12345,
width: 800,
- height: 600
+ height: 600,
+ durationMs: 5400,
+ waveform: "4,8,12,20,16,10,6,3"
)],
buttons: [[Button(
text: "Подробнее",
@@ -359,7 +363,7 @@ let body = MessageCreateRequest(
linkPreview: false
)
let response = try await client.messages.createMessage(body: body)
-// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: String, url: String, files: [File(id: Int, key: String, name: String, fileType: FileType, url: String, width: Int?, height: Int?)], buttons: [[Button(text: String, url: String?, data: String?)]]?, thread: MessageThread(id: Int64, chatId: Int64)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: String, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: String?, deletedAt: String?)
+// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: String, url: String, files: [File(id: Int, key: String, name: String, fileType: FileType, url: String, width: Int?, height: Int?)], voiceContent: VoiceContent(durationMs: Int, waveform: String, transcript: String?)?, buttons: [[Button(text: String, url: String?, data: String?)]]?, thread: MessageThread(id: Int64, chatId: Int64)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: String, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: String?, deletedAt: String?)
// Список сотрудников
let response = try await client.users.listUsers(query: "Олег", limit: 1, cursor: "eyJpZCI6MTAsImRpciI6ImFzYyJ9")
diff --git a/apps/docs/public/guides/sdk/typescript.md b/apps/docs/public/guides/sdk/typescript.md
index 484305ab..c4bad2b2 100644
--- a/apps/docs/public/guides/sdk/typescript.md
+++ b/apps/docs/public/guides/sdk/typescript.md
@@ -128,6 +128,8 @@ const client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.com/ap
| `client.tasks.updateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.deleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.openView()` | [Открытие представления](/api/views/open) |
+| `client.bots.createBot()` | [Создание бота](/api/bots/create) |
+| `client.bots.getBot()` | [Получение бота](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -360,7 +362,9 @@ const request: MessageCreateRequest = {
fileType: FileType.Image,
size: 12345,
width: 800,
- height: 600
+ height: 600,
+ durationMs: 5400,
+ waveform: "4,8,12,20,16,10,6,3"
}],
buttons: [[{
text: "Подробнее",
@@ -375,7 +379,7 @@ const request: MessageCreateRequest = {
linkPreview: false
}
const response = client.messages.createMessage(request)
-// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
+// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], voiceContent: VoiceContent({ durationMs: number, waveform: string, transcript: string | null }) | null, buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
// Список сотрудников
const response = client.users.listUsers({
diff --git a/apps/docs/public/guides/webhook/events.md b/apps/docs/public/guides/webhook/events.md
index f7b4c4e9..da4c0c97 100644
--- a/apps/docs/public/guides/webhook/events.md
+++ b/apps/docs/public/guides/webhook/events.md
@@ -68,7 +68,7 @@
- `code: string` (required) — Emoji символ реакции. Пример: `"👍"`
- `name: string` (required) — Название реакции. Пример: `"thumbsup"`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил или удалил реакцию. Пример: `2345`
-- `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+- `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.. Пример: `"2025-05-15T14:30:00.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
@@ -105,9 +105,9 @@
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
-- `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+- `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
-- `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+- `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
diff --git a/apps/docs/public/guides/workflows.md b/apps/docs/public/guides/workflows.md
index 7d5ccbd9..89289610 100644
--- a/apps/docs/public/guides/workflows.md
+++ b/apps/docs/public/guides/workflows.md
@@ -297,13 +297,21 @@
### pachca-bots
+**Создать бота через API и получить токен**
+
+1. Создай бота. Только пользовательским токеном (не токеном бота); `nickname` обязан заканчиваться на `_bot`. Параметры вебхука (Webhook URL, события, команды) можно задать сразу или позже
+2. Сохрани `access_token` из ответа — он возвращается единственный раз. Повторно получить токен можно только через интерфейс (вкладка «API» настроек бота)
+3. В ответе также придёт `id` бота (его `user_id`) — он нужен для дальнейших вызовов, например чтобы добавить бота в чат
+
+> Создавать ботов можно только пользовательским токеном — токеном бота нельзя. `access_token` отдаётся один раз при создании, дальше его можно посмотреть и скопировать в интерфейсе.
+
**Настроить бота с исходящим вебхуком**
-1. Создай бота в интерфейсе Пачки: Автоматизации → Интеграции → Webhook
-2. Получи `access_token` бота во вкладке «API» настроек бота
-3. Укажи Webhook URL для получения событий
+1. Создай бота, сразу указав Webhook URL и события в одном вызове (детали создания и работы с токеном — в сценарии «Создать бота через API и получить токен»)
+2. Сохрани `access_token` из ответа (возвращается единственный раз)
+3. Используй сохранённый `access_token` для отправки сообщений от имени бота
-> Бот создаётся через UI, не через API. Единственный эндпоинт для ботов — PUT /bots/{id} (обновление webhook URL). API используется для отправки сообщений от имени бота.
+> Альтернатива — создать и настроить бота в интерфейсе. Webhook URL и события можно задать и позже методом PUT /bots/{id}.
**Обновить Webhook URL бота**
diff --git a/apps/docs/public/index.md b/apps/docs/public/index.md
index e7a065bc..d3557ffe 100644
--- a/apps/docs/public/index.md
+++ b/apps/docs/public/index.md
@@ -22,7 +22,6 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -32,7 +31,9 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -49,10 +50,8 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}'
```
diff --git a/apps/docs/public/llms-en.txt b/apps/docs/public/llms-en.txt
index 193f4e4b..974dbace 100644
--- a/apps/docs/public/llms-en.txt
+++ b/apps/docs/public/llms-en.txt
@@ -1097,8 +1097,16 @@ Body: { type*, trigger_id*, private_metadata, callback_id, view* }
## Bots
+### 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: { bot: { webhook* } }
+
+### GET /api/shared/v1/bots/{id}
+Retrieves bot parameters by its `user_id`.
+Parameters: id
+
### PUT /api/shared/v1/bots/{id}
-Edit a bot's settings. To edit a bot you need to know its `user_id` and specify it in the request `URL`. All editable bot parameters are specified in the request body. You can find the bot's `user_id` in the bot settings under the "API" tab. 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).
+Edit a bot's settings. To edit a bot you need to know its `user_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: { bot: { webhook* } }
diff --git a/apps/docs/public/llms-full.txt b/apps/docs/public/llms-full.txt
index 7da46be2..9f0f36ac 100644
--- a/apps/docs/public/llms-full.txt
+++ b/apps/docs/public/llms-full.txt
@@ -16,82 +16,82 @@
|--------|--------|
| LIBRARY RULES — правила: auth, пагинация, лимиты, ошибки, SDK | 96–198 |
| How-to Guides — рецепты задач с кодом TS/Python | 199–882 |
-| Руководства — гайды: SDK, вебхуки, боты, формы, n8n, CLI | 883–11271 |
-| · Обзор | 888–991 |
-| · Быстрый старт | 992–1082 |
-| · AI агенты | 1083–1218 |
-| · Взаимодействие с агентом | 1219–1287 |
-| · Markdown и документы | 1288–1344 |
-| · Треды | 1345–1472 |
-| · Боты | 1473–1535 |
-| · Создание и настройка | 1536–1640 |
-| · Доступы к чатам и сообщениям | 1641–1713 |
-| · Готовые примеры реализации | 1714–1748 |
-| · Входящие вебхуки | 1749–1889 |
-| · Исходящие вебхуки | 1890–1934 |
-| · Настройка и типы событий | 1935–2109 |
-| · Безопасность и обработчик | 2110–2300 |
-| · Поллинг | 2301–2484 |
-| · Кнопки в сообщениях | 2485–2641 |
-| · Формы | 2642–2711 |
-| · Блоки представления | 2712–2926 |
-| · Обработка форм | 2927–3066 |
-| · Разворачивание ссылок | 3067–3179 |
-| · Экспорт сообщений | 3180–3321 |
-| · DLP-система | 3322–3529 |
-| · Пачка Audit Events API | 3530–3604 |
-| · Форматирование текста | 3605–3685 |
-| · Сценарии | 3686–4174 |
-| · CLI | 4175–4268 |
-| · Установка | 4269–4361 |
-| · Авторизация | 4362–4435 |
-| · Вывод | 4436–4539 |
-| · Флаги и скрипты | 4540–4766 |
-| · Сценарии | 4767–4814 |
-| · Файлы | 4815–4849 |
-| · Прямые запросы | 4850–4960 |
-| · Команды | 4961–5095 |
-| · SDK и генератор | 5096–5181 |
-| · TypeScript | 5182–5594 |
-| · Python | 5595–6001 |
-| · Go | 6002–6433 |
-| · Kotlin | 6434–6857 |
-| · Swift | 6858–7250 |
-| · C# | 7251–7704 |
-| · n8n | 7705–7780 |
-| · Начало работы | 7781–8008 |
-| · Ресурсы и операции | 8009–8383 |
-| · Триггер | 8384–8633 |
-| · Тестирование | 8634–8907 |
-| · Примеры workflow | 8908–9123 |
-| · Продвинутые функции | 9124–9360 |
-| · Устранение ошибок | 9361–9553 |
-| · Миграция с v1 | 9554–9675 |
-| · Последние обновления | 9676–9685 |
-| · Авторизация | 9686–9864 |
-| · Запросы и ответы | 9865–10057 |
-| · Пагинация | 10058–10294 |
-| · Загрузка файлов | 10295–10512 |
-| · Ошибки | 10513–10586 |
-| · Лимиты | 10587–10704 |
-| · Модели | 10705–11271 |
-| API-методы — все эндпоинты со схемами и примерами | 11272–26683 |
-| · Common | 11274–12068 |
-| · Profile | 12069–13070 |
-| · Users | 13071–15456 |
-| · Group tags | 15457–16804 |
-| · Chats | 16805–18072 |
-| · Members | 18073–19417 |
-| · Threads | 19418–19975 |
-| · Messages | 19976–21805 |
-| · Read members | 21806–22052 |
-| · Reactions | 22053–22699 |
-| · Link Previews | 22700–22955 |
-| · Search | 22956–23756 |
-| · Tasks | 23757–25048 |
-| · Views | 25049–25620 |
-| · Bots | 25621–26371 |
-| · Security | 26372–26683 |
+| Руководства — гайды: SDK, вебхуки, боты, формы, n8n, CLI | 883–11334 |
+| · Обзор | 888–990 |
+| · Быстрый старт | 991–1080 |
+| · AI агенты | 1081–1216 |
+| · Взаимодействие с агентом | 1217–1285 |
+| · Markdown и документы | 1286–1342 |
+| · Треды | 1343–1470 |
+| · Боты | 1471–1533 |
+| · Создание и настройка | 1534–1660 |
+| · Доступы к чатам и сообщениям | 1661–1733 |
+| · Готовые примеры реализации | 1734–1768 |
+| · Входящие вебхуки | 1769–1909 |
+| · Исходящие вебхуки | 1910–1954 |
+| · Настройка и типы событий | 1955–2129 |
+| · Безопасность и обработчик | 2130–2320 |
+| · Поллинг | 2321–2504 |
+| · Кнопки в сообщениях | 2505–2660 |
+| · Формы | 2661–2730 |
+| · Блоки представления | 2731–2944 |
+| · Обработка форм | 2945–3084 |
+| · Разворачивание ссылок | 3085–3197 |
+| · Экспорт сообщений | 3198–3339 |
+| · DLP-система | 3340–3547 |
+| · Пачка Audit Events API | 3548–3622 |
+| · Форматирование текста | 3623–3703 |
+| · Сценарии | 3704–4200 |
+| · CLI | 4201–4294 |
+| · Установка | 4295–4387 |
+| · Авторизация | 4388–4461 |
+| · Вывод | 4462–4565 |
+| · Флаги и скрипты | 4566–4792 |
+| · Сценарии | 4793–4840 |
+| · Файлы | 4841–4875 |
+| · Прямые запросы | 4876–4986 |
+| · Команды | 4987–5123 |
+| · SDK и генератор | 5124–5209 |
+| · TypeScript | 5210–5626 |
+| · Python | 5627–6037 |
+| · Go | 6038–6473 |
+| · Kotlin | 6474–6901 |
+| · Swift | 6902–7298 |
+| · C# | 7299–7756 |
+| · n8n | 7757–7832 |
+| · Начало работы | 7833–8060 |
+| · Ресурсы и операции | 8061–8435 |
+| · Триггер | 8436–8685 |
+| · Тестирование | 8686–8959 |
+| · Примеры workflow | 8960–9175 |
+| · Продвинутые функции | 9176–9412 |
+| · Устранение ошибок | 9413–9605 |
+| · Миграция с v1 | 9606–9727 |
+| · Последние обновления | 9728–9737 |
+| · Авторизация | 9738–9916 |
+| · Запросы и ответы | 9917–10109 |
+| · Пагинация | 10110–10346 |
+| · Загрузка файлов | 10347–10564 |
+| · Ошибки | 10565–10638 |
+| · Лимиты | 10639–10756 |
+| · Модели | 10757–11334 |
+| API-методы — все эндпоинты со схемами и примерами | 11335–27312 |
+| · Common | 11337–12131 |
+| · Profile | 12132–13133 |
+| · Users | 13134–15519 |
+| · Group tags | 15520–16867 |
+| · Chats | 16868–18133 |
+| · Members | 18134–19478 |
+| · Threads | 19479–20036 |
+| · Messages | 20037–21917 |
+| · Read members | 21918–22164 |
+| · Reactions | 22165–22811 |
+| · Link Previews | 22812–23067 |
+| · Search | 23068–23877 |
+| · Tasks | 23878–25169 |
+| · Views | 25170–25738 |
+| · Bots | 25739–27000 |
+| · Security | 27001–27312 |
# LIBRARY RULES
@@ -905,7 +905,6 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -915,7 +914,9 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -932,10 +933,8 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}'
```
@@ -1047,8 +1046,7 @@ curl "https://api.pachca.com/api/shared/v1/chats" \
86,
18
],
- "channel": true,
- "public": false
+ "channel": true
}
}'
```
@@ -1535,9 +1533,14 @@ pachca messages create \
# Создание и настройка
-## Создание бота
+Бота можно создать двумя способами:
+
+- **Через интерфейс** — больше настроек (тип бота, аватар, доступы, шаблоны входящего вебхука) и наглядная пошаговая форма. Подходит для разовой ручной настройки.
+- **Через API** ([Создание бота](POST /bots)) — программно, без интерфейса. Подходит для автоматизации: завести бота из своего сервиса или скрипта и сразу получить `access_token`.
+
+## Создание бота через интерфейс
-> **Внимание:** Создание и настройка ботов доступны в веб-версии и десктопном приложении Пачки. В мобильных приложениях (iOS и Android) эта возможность недоступна.
+> **Внимание:** Создание и настройка ботов через интерфейс доступны в веб-версии и десктопном приложении Пачки. В мобильных приложениях (iOS и Android) эта возможность недоступна.
Для создания бота перейдите в **Автоматизации** > **Интеграции** > **Чат-боты и Вебхуки** и нажмите кнопку **«+»**.
@@ -1574,6 +1577,23 @@ pachca messages create \
Для получения событий от Пачки перейдите на вкладку **Исходящий Webhook**: укажите **Webhook URL**, на который будут приходить уведомления, и выберите типы событий (новые сообщения, реакции, нажатия кнопок и другие). Подробнее — в разделе [Исходящие вебхуки](/guides/webhook/overview).
+## Создание бота через API
+
+Бота можно создать программно методом [Создание бота](POST /bots) — без интерфейса. Это удобно, когда нужно завести бота из своего сервиса или скрипта.
+
+
+ ### Шаг 1. Отправьте запрос на создание
+
+Передайте параметры бота в объекте `bot.webhook`: имя, никнейм, Webhook URL, список событий и команды. Никнейм должен заканчиваться на `_bot`.
+
+
+ ### Шаг 2. Сохраните access_token
+
+В ответе вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка **API** настроек бота), там же его можно перевыпустить. Вместе с токеном придёт `id` бота (его `user_id`).
+
+
+Получить параметры существующего бота можно методом [Получение бота](GET /bots/{id}), а изменить — методом [Редактирование бота](PUT /bots/{id}).
+
## Профиль бота
Бот, как и любой участник пространства, имеет свой профиль. В нём отображаются имя, аватар, никнейм, статус и список общих чатов с ботом. Профиль бота можно редактировать — изменить имя, никнейм и другие поля.
@@ -1997,7 +2017,7 @@ Liquid также поддерживает:
- `code: string` (required) — Emoji символ реакции. Пример: `"👍"`
- `name: string` (required) — Название реакции. Пример: `"thumbsup"`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил или удалил реакцию. Пример: `2345`
-- `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+- `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.. Пример: `"2025-05-15T14:30:00.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
@@ -2034,9 +2054,9 @@ Liquid также поддерживает:
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
-- `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+- `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
-- `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+- `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
@@ -2556,7 +2576,6 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -2566,7 +2585,9 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -2583,10 +2604,8 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}'
```
@@ -2808,7 +2827,6 @@ sequenceDiagram
- `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке
- `text: string` (required, max length: 75) — Отображаемый текст. Пример: `"Ничего"`
- `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта. Пример: `"nothing"`
- - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом. Пример: `"Каждый день бот будет присылать список новых задач в вашей команде"`
- `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.. Пример: `true`
- `required: boolean` — Обязательность. Пример: `false`
- `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом. Пример: `"Выберите одну из команд"`
@@ -2956,9 +2974,9 @@ sequenceDiagram
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
-- `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+- `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
-- `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+- `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
@@ -3510,7 +3528,7 @@ curl "https://api.pachca.com/api/shared/v1/messages/194275/link_previews" \
- `message_id: integer, int32` (required) — Идентификатор сообщения
- `chat_id: integer, int32` (required) — Идентификатор чата
- `user_id: integer, int32` (required) — Идентификатор пользователя
-- `action_message: string` (required) — Описание действия
+- `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.
- `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)
@@ -3978,13 +3996,21 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T00
### pachca-bots
+**Создать бота через API и получить токен**
+
+1. Создай бота. Только пользовательским токеном (не токеном бота); `nickname` обязан заканчиваться на `_bot`. Параметры вебхука (Webhook URL, события, команды) можно задать сразу или позже
+2. Сохрани `access_token` из ответа — он возвращается единственный раз. Повторно получить токен можно только через интерфейс (вкладка «API» настроек бота)
+3. В ответе также придёт `id` бота (его `user_id`) — он нужен для дальнейших вызовов, например чтобы добавить бота в чат
+
+> Создавать ботов можно только пользовательским токеном — токеном бота нельзя. `access_token` отдаётся один раз при создании, дальше его можно посмотреть и скопировать в интерфейсе.
+
**Настроить бота с исходящим вебхуком**
-1. Создай бота в интерфейсе Пачки: Автоматизации → Интеграции → Webhook
-2. Получи `access_token` бота во вкладке «API» настроек бота
-3. Укажи Webhook URL для получения событий
+1. Создай бота, сразу указав Webhook URL и события в одном вызове (детали создания и работы с токеном — в сценарии «Создать бота через API и получить токен»)
+2. Сохрани `access_token` из ответа (возвращается единственный раз)
+3. Используй сохранённый `access_token` для отправки сообщений от имени бота
-> Бот создаётся через UI, не через API. Единственный эндпоинт для ботов — PUT /bots/{id} (обновление webhook URL). API используется для отправки сообщений от имени бота.
+> Альтернатива — создать и настроить бота в интерфейсе. Webhook URL и события можно задать и позже методом PUT /bots/{id}.
**Обновить Webhook URL бота**
@@ -4327,7 +4353,7 @@ pachca doctor
# ✔ Конфиг ~/.config/pachca/config.toml (права: 600)
# ✔ Профиль personal (user: Иван Иванов)
# ✔ Токен действителен (11 скоупов)
-# ✔ CLI v2026.5.2 (актуальная версия)
+# ✔ CLI v2026.6.0 (актуальная версия)
```
## Обновление
@@ -4984,6 +5010,8 @@ dev.pachca.com/api/members/add → pachca members add
| `pachca auth logout` | Удаление сохранённого профиля |
| `pachca auth status` | Статус текущего профиля |
| `pachca auth switch` | Переключение активного профиля |
+| `pachca bots create` | `POST` Создание бота |
+| `pachca bots get` | `GET` Получение бота |
| `pachca bots list-events` | `GET` История событий |
| `pachca bots remove-event` | `DELETE` Удаление события |
| `pachca bots update` | `PUT` Редактирование бота |
@@ -5304,6 +5332,8 @@ const client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.com/ap
| `client.tasks.updateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.deleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.openView()` | [Открытие представления](/api/views/open) |
+| `client.bots.createBot()` | [Создание бота](/api/bots/create) |
+| `client.bots.getBot()` | [Получение бота](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -5536,7 +5566,9 @@ const request: MessageCreateRequest = {
fileType: FileType.Image,
size: 12345,
width: 800,
- height: 600
+ height: 600,
+ durationMs: 5400,
+ waveform: "4,8,12,20,16,10,6,3"
}],
buttons: [[{
text: "Подробнее",
@@ -5551,7 +5583,7 @@ const request: MessageCreateRequest = {
linkPreview: false
}
const response = client.messages.createMessage(request)
-// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
+// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], voiceContent: VoiceContent({ durationMs: number, waveform: string, transcript: string | null }) | null, buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
// Список сотрудников
const response = client.users.listUsers({
@@ -5724,6 +5756,8 @@ await client.close()
| `client.tasks.update_task()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.delete_task()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.open_view()` | [Открытие представления](/api/views/open) |
+| `client.bots.create_bot()` | [Создание бота](/api/bots/create) |
+| `client.bots.get_bot()` | [Получение бота](/api/bots/get) |
| `client.bots.get_webhook_events()` | [История событий](/api/bots/list-events) |
| `client.bots.update_bot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.delete_webhook_event()` | [Удаление события](/api/bots/remove-event) |
@@ -5942,7 +5976,9 @@ request = MessageCreateRequest(
file_type=FileType.IMAGE,
size=12345,
width=800,
- height=600
+ height=600,
+ duration_ms=5400,
+ waveform="4,8,12,20,16,10,6,3"
)],
buttons=[[Button(
text="Подробнее",
@@ -5957,7 +5993,7 @@ request = MessageCreateRequest(
link_preview=False
)
response = await client.messages.create_message(request=request)
-# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
+# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], voice_content: VoiceContent(duration_ms: int, waveform: str, transcript: str | None) | None, buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
# Список сотрудников
params = ListUsersParams(
@@ -6133,6 +6169,8 @@ user, err := client.Profile.GetProfile(ctx)
| `client.Tasks.UpdateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.Tasks.DeleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.Views.OpenView()` | [Открытие представления](/api/views/open) |
+| `client.Bots.CreateBot()` | [Создание бота](/api/bots/create) |
+| `client.Bots.GetBot()` | [Получение бота](/api/bots/get) |
| `client.Bots.GetWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.Bots.UpdateBot()` | [Редактирование бота](/api/bots/update) |
| `client.Bots.DeleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -6372,6 +6410,8 @@ request := MessageCreateRequest{
Size: int32(12345),
Width: Ptr(int32(800)),
Height: Ptr(int32(600)),
+ DurationMs: Ptr(int32(5400)),
+ Waveform: Ptr("4,8,12,20,16,10,6,3"),
}},
Buttons: [][]Button{[]Button{Button{
Text: "Подробнее",
@@ -6386,7 +6426,7 @@ request := MessageCreateRequest{
LinkPreview: Ptr(false),
}
response, err := client.Messages.CreateMessage(ctx, request)
-// → Message{ID: int32, EntityType: MessageEntityType, EntityID: int32, ChatID: int32, RootChatID: int32, Content: string, UserID: int32, CreatedAt: string, URL: string, Files: []File{ID: int32, Key: string, Name: string, FileType: FileType, URL: string, Width: *int32, Height: *int32}, Buttons: *[][]Button{Text: string, URL: *string, Data: *string}, Thread: *MessageThread{ID: int64, ChatID: int64}, Forwarding: *Forwarding{OriginalMessageID: int32, OriginalChatID: int32, AuthorID: int32, OriginalCreatedAt: string, OriginalThreadID: *int32, OriginalThreadMessageID: *int32, OriginalThreadParentChatID: *int32}, ParentMessageID: *int32, DisplayAvatarURL: *string, DisplayName: *string, ChangedAt: *string, DeletedAt: *string}
+// → Message{ID: int32, EntityType: MessageEntityType, EntityID: int32, ChatID: int32, RootChatID: int32, Content: string, UserID: int32, CreatedAt: string, URL: string, Files: []File{ID: int32, Key: string, Name: string, FileType: FileType, URL: string, Width: *int32, Height: *int32}, VoiceContent: *VoiceContent{DurationMs: int32, Waveform: string, Transcript: *string}, Buttons: *[][]Button{Text: string, URL: *string, Data: *string}, Thread: *MessageThread{ID: int64, ChatID: int64}, Forwarding: *Forwarding{OriginalMessageID: int32, OriginalChatID: int32, AuthorID: int32, OriginalCreatedAt: string, OriginalThreadID: *int32, OriginalThreadMessageID: *int32, OriginalThreadParentChatID: *int32}, ParentMessageID: *int32, DisplayAvatarURL: *string, DisplayName: *string, ChangedAt: *string, DeletedAt: *string}
// Список сотрудников
params := &ListUsersParams{
@@ -6573,6 +6613,8 @@ client.close()
| `client.tasks.updateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.deleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.openView()` | [Открытие представления](/api/views/open) |
+| `client.bots.createBot()` | [Создание бота](/api/bots/create) |
+| `client.bots.getBot()` | [Получение бота](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -6803,7 +6845,9 @@ val request = MessageCreateRequest(
fileType = FileType.IMAGE,
size = 12345,
width = 800,
- height = 600
+ height = 600,
+ durationMs = 5400,
+ waveform = "4,8,12,20,16,10,6,3"
)),
buttons = listOf(listOf(Button(
text = "Подробнее",
@@ -6818,7 +6862,7 @@ val request = MessageCreateRequest(
linkPreview = false
)
val response = client.messages.createMessage(request = request)
-// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: OffsetDateTime, url: String, files: List, buttons: List>?, thread: MessageThread(id: Long, chatId: Long)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: OffsetDateTime, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: OffsetDateTime?, deletedAt: OffsetDateTime?)
+// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: OffsetDateTime, url: String, files: List, voiceContent: VoiceContent(durationMs: Int, waveform: String, transcript: String?)?, buttons: List>?, thread: MessageThread(id: Long, chatId: Long)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: OffsetDateTime, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: OffsetDateTime?, deletedAt: OffsetDateTime?)
// Список сотрудников
val response = client.users.listUsers(query = "Олег", limit = 1, cursor = "eyJpZCI6MTAsImRpciI6ImFzYyJ9")
@@ -6988,6 +7032,8 @@ let client = PachcaClient(token: "YOUR_TOKEN", baseURL: "https://custom-api.exam
| `client.tasks.updateTask()` | [Редактирование напоминания](/api/tasks/update) |
| `client.tasks.deleteTask()` | [Удаление напоминания](/api/tasks/delete) |
| `client.views.openView()` | [Открытие представления](/api/views/open) |
+| `client.bots.createBot()` | [Создание бота](/api/bots/create) |
+| `client.bots.getBot()` | [Получение бота](/api/bots/get) |
| `client.bots.getWebhookEvents()` | [История событий](/api/bots/list-events) |
| `client.bots.updateBot()` | [Редактирование бота](/api/bots/update) |
| `client.bots.deleteWebhookEvent()` | [Удаление события](/api/bots/remove-event) |
@@ -7196,7 +7242,9 @@ let body = MessageCreateRequest(
fileType: .image,
size: 12345,
width: 800,
- height: 600
+ height: 600,
+ durationMs: 5400,
+ waveform: "4,8,12,20,16,10,6,3"
)],
buttons: [[Button(
text: "Подробнее",
@@ -7211,7 +7259,7 @@ let body = MessageCreateRequest(
linkPreview: false
)
let response = try await client.messages.createMessage(body: body)
-// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: String, url: String, files: [File(id: Int, key: String, name: String, fileType: FileType, url: String, width: Int?, height: Int?)], buttons: [[Button(text: String, url: String?, data: String?)]]?, thread: MessageThread(id: Int64, chatId: Int64)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: String, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: String?, deletedAt: String?)
+// → Message(id: Int, entityType: MessageEntityType, entityId: Int, chatId: Int, rootChatId: Int, content: String, userId: Int, createdAt: String, url: String, files: [File(id: Int, key: String, name: String, fileType: FileType, url: String, width: Int?, height: Int?)], voiceContent: VoiceContent(durationMs: Int, waveform: String, transcript: String?)?, buttons: [[Button(text: String, url: String?, data: String?)]]?, thread: MessageThread(id: Int64, chatId: Int64)?, forwarding: Forwarding(originalMessageId: Int, originalChatId: Int, authorId: Int, originalCreatedAt: String, originalThreadId: Int?, originalThreadMessageId: Int?, originalThreadParentChatId: Int?)?, parentMessageId: Int?, displayAvatarUrl: String?, displayName: String?, changedAt: String?, deletedAt: String?)
// Список сотрудников
let response = try await client.users.listUsers(query: "Олег", limit: 1, cursor: "eyJpZCI6MTAsImRpciI6ImFzYyJ9")
@@ -7375,6 +7423,8 @@ using var client = new PachcaClient("YOUR_TOKEN", "https://custom-api.example.co
| `client.Tasks.UpdateTaskAsync()` | [Редактирование напоминания](/api/tasks/update) |
| `client.Tasks.DeleteTaskAsync()` | [Удаление напоминания](/api/tasks/delete) |
| `client.Views.OpenViewAsync()` | [Открытие представления](/api/views/open) |
+| `client.Bots.CreateBotAsync()` | [Создание бота](/api/bots/create) |
+| `client.Bots.GetBotAsync()` | [Получение бота](/api/bots/get) |
| `client.Bots.GetWebhookEventsAsync()` | [История событий](/api/bots/list-events) |
| `client.Bots.UpdateBotAsync()` | [Редактирование бота](/api/bots/update) |
| `client.Bots.DeleteWebhookEventAsync()` | [Удаление события](/api/bots/remove-event) |
@@ -7647,7 +7697,9 @@ var request = new MessageCreateRequest
FileType = FileType.Image,
Size = 12345,
Width = 800,
- Height = 600
+ Height = 600,
+ DurationMs = 5400,
+ Waveform = "4,8,12,20,16,10,6,3"
} },
Buttons = new List> { new List { new Button
{
@@ -7663,7 +7715,7 @@ var request = new MessageCreateRequest
LinkPreview = false
};
var response = await client.Messages.CreateMessageAsync(request);
-// → Message(Id: int, EntityType: MessageEntityType, EntityId: int, ChatId: int, RootChatId: int, Content: string, UserId: int, CreatedAt: DateTimeOffset, Url: string, Files: List, Buttons: List>?, Thread: MessageThread(Id: long, ChatId: long)?, Forwarding: Forwarding(OriginalMessageId: int, OriginalChatId: int, AuthorId: int, OriginalCreatedAt: DateTimeOffset, OriginalThreadId: int?, OriginalThreadMessageId: int?, OriginalThreadParentChatId: int?)?, ParentMessageId: int?, DisplayAvatarUrl: string?, DisplayName: string?, ChangedAt: DateTimeOffset?, DeletedAt: DateTimeOffset?)
+// → Message(Id: int, EntityType: MessageEntityType, EntityId: int, ChatId: int, RootChatId: int, Content: string, UserId: int, CreatedAt: DateTimeOffset, Url: string, Files: List, VoiceContent: VoiceContent(DurationMs: int, Waveform: string, Transcript: string?)?, Buttons: List>?, Thread: MessageThread(Id: long, ChatId: long)?, Forwarding: Forwarding(OriginalMessageId: int, OriginalChatId: int, AuthorId: int, OriginalCreatedAt: DateTimeOffset, OriginalThreadId: int?, OriginalThreadMessageId: int?, OriginalThreadParentChatId: int?)?, ParentMessageId: int?, DisplayAvatarUrl: string?, DisplayName: string?, ChangedAt: DateTimeOffset?, DeletedAt: DateTimeOffset?)
// Список сотрудников
var response = await client.Users.ListUsersAsync("Олег", 1, "eyJpZCI6MTAsImRpciI6ImFzYyJ9");
@@ -10912,10 +10964,14 @@ users = await with_retry(lambda: client.users.list_users())
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+- `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -10993,7 +11049,7 @@ users = await with_retry(lambda: client.users.list_users())
- `callback_id: string` (max length: 255) — Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь.. Пример: `"timeoff_reguest_form"`
- `view: object` (required) — Собранный объект представления
- `title: string` (required, max length: 24) — Заголовок представления. Пример: `"Уведомление об отпуске"`
- - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Пример: `"Закрыть"`
+ - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается.. Пример: `"Закрыть"`
- `submit_text: string` (default: Отправить, max length: 24) — Текст кнопки отправки формы. Пример: `"Отправить заявку"`
- `blocks: array (union)` (required, max items: 100) — Массив блоков представления
**Возможные типы элементов:**
@@ -11033,7 +11089,6 @@ users = await with_retry(lambda: client.users.list_users())
- `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке
- `text: string` (required, max length: 75) — Отображаемый текст
- `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта
- - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом
- `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.
- `required: boolean` — Обязательность
- `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом
@@ -11090,13 +11145,21 @@ users = await with_retry(lambda: client.users.list_users())
## Параметры бота
+- [Создание бота](POST /bots)
+- [Получение бота](GET /bots/{id})
- [Редактирование бота](PUT /bots/{id})
Параметры бота
-- `id: integer, int32` (required) — Идентификатор бота. Пример: `1738816`
+- `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"]`
## Событие исходящего вебхука
@@ -11140,7 +11203,7 @@ users = await with_retry(lambda: client.users.list_users())
- `code: string` (required) — Emoji символ реакции. Пример: `"👍"`
- `name: string` (required) — Название реакции. Пример: `"thumbsup"`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил или удалил реакцию. Пример: `2345`
- - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.. Пример: `"2025-05-15T14:30:00.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- **ButtonWebhookPayload**: Структура исходящего вебхука о нажатии кнопки
- `type: string` (required) — Тип объекта. Пример: `"button"`
@@ -11160,9 +11223,9 @@ users = await with_retry(lambda: client.users.list_users())
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
- - `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
- - `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+ - `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
@@ -11253,7 +11316,7 @@ users = await with_retry(lambda: client.users.list_users())
- `message_id: integer, int32` (required) — Идентификатор сообщения
- `chat_id: integer, int32` (required) — Идентификатор чата
- `user_id: integer, int32` (required) — Идентификатор пользователя
- - `action_message: string` (required) — Описание действия
+ - `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.
- `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)
- **AuditDetailsSearch**: При: search_users_api, search_chats_api, search_messages_api
- `search_type: string` (required) — Тип поиска
@@ -16849,8 +16912,7 @@ response = await client.group_tags.get_tag_users(id=9111, params=params)
86,
18
],
- "channel": true,
- "public": false
+ "channel": true
}
}
```
@@ -16872,8 +16934,7 @@ curl "https://api.pachca.com/api/shared/v1/chats" \
86,
18
],
- "channel": true,
- "public": false
+ "channel": true
}
}'
```
@@ -20008,10 +20069,12 @@ response = await client.threads.get_thread(id=265142)
- `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url). Пример: `"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png"`
- `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением). Пример: `"logo.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `size: integer, int32` (required) — Размер файла в байтах, отображаемый пользователю. Пример: `12345`
- `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image). Пример: `800`
- `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image). Пример: `600`
+ - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `5400`
+ - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `"4,8,12,20,16,10,6,3"`
- `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке.. Пример: `[[{"text":"Подробнее","url":"https://example.com/details"},{"text":"Отлично!","data":"awesome"}]]`
- `parent_message_id: integer, int32` — Идентификатор сообщения. Указывается в случае, если вы отправляете ответ на другое сообщение.. Пример: `194270`
- `display_avatar_url: string` (max length: 255) — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `"https://example.com/avatar.png"`
@@ -20024,7 +20087,6 @@ response = await client.threads.get_thread(id=265142)
```json
{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -20034,7 +20096,9 @@ response = await client.threads.get_thread(id=265142)
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -20051,10 +20115,8 @@ response = await client.threads.get_thread(id=265142)
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}
```
@@ -20066,7 +20128,6 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {
- "entity_type": "discussion",
"entity_id": 334,
"content": "Вчера мы продали 756 футболок (что на 10% больше, чем в прошлое воскресенье)",
"files": [
@@ -20076,7 +20137,9 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -20093,10 +20156,8 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
],
"parent_message_id": 194270,
"display_avatar_url": "https://example.com/avatar.png",
- "display_name": "Бот Поддержки",
- "skip_invite_mentions": false
- },
- "link_preview": false
+ "display_name": "Бот Поддержки"
+ }
}'
```
@@ -20122,10 +20183,14 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -20169,6 +20234,11 @@ curl "https://api.pachca.com/api/shared/v1/messages" \
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
@@ -20343,7 +20413,9 @@ const request: MessageCreateRequest = {
fileType: FileType.Image,
size: 12345,
width: 800,
- height: 600
+ height: 600,
+ durationMs: 5400,
+ waveform: "4,8,12,20,16,10,6,3"
}],
buttons: [[{
text: "Подробнее",
@@ -20358,7 +20430,7 @@ const request: MessageCreateRequest = {
linkPreview: false
}
const response = client.messages.createMessage(request)
-// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
+// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], voiceContent: VoiceContent({ durationMs: number, waveform: string, transcript: string | null }) | null, buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
```
### Python
@@ -20380,7 +20452,9 @@ request = MessageCreateRequest(
file_type=FileType.IMAGE,
size=12345,
width=800,
- height=600
+ height=600,
+ duration_ms=5400,
+ waveform="4,8,12,20,16,10,6,3"
)],
buttons=[[Button(
text="Подробнее",
@@ -20395,7 +20469,7 @@ request = MessageCreateRequest(
link_preview=False
)
response = await client.messages.create_message(request=request)
-# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
+# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], voice_content: VoiceContent(duration_ms: int, waveform: str, transcript: str | None) | None, buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
```
---
@@ -20455,10 +20529,14 @@ curl "https://api.pachca.com/api/shared/v1/messages?chat_id=198&sort=id&order=de
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -20509,6 +20587,11 @@ curl "https://api.pachca.com/api/shared/v1/messages?chat_id=198&sort=id&order=de
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
@@ -20790,10 +20873,14 @@ curl "https://api.pachca.com/api/shared/v1/messages/194275" \
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -20837,6 +20924,11 @@ curl "https://api.pachca.com/api/shared/v1/messages/194275" \
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
@@ -20971,7 +21063,7 @@ import { PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
const response = client.messages.getMessage(194275)
-// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
+// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], voiceContent: VoiceContent({ durationMs: number, waveform: string, transcript: string | null }) | null, buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
```
### Python
@@ -20982,7 +21074,7 @@ from pachca.client import PachcaClient
client = PachcaClient("YOUR_TOKEN")
response = await client.messages.get_message(id=194275)
-# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
+# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], voice_content: VoiceContent(duration_ms: int, waveform: str, transcript: str | None) | None, buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
```
---
@@ -21021,10 +21113,13 @@ response = await client.messages.get_message(id=194275)
- `files: array of object` — Прикрепляемые файлы
- `key: string` (required) — Путь к файлу, полученный в результате [загрузки файла](POST /direct_url). Пример: `"attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png"`
- `name: string` (required) — Название файла, которое вы хотите отображать пользователю (рекомендуется писать вместе с расширением). Пример: `"logo.png"`
- - `file_type: string` — Тип файла: файл (file), изображение (image). Пример: `"image"`
+ - `file_type: string` — Тип файла
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `size: integer, int32` — Размер файла в байтах, отображаемый пользователю. Пример: `12345`
- `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image). Пример: `800`
- `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image). Пример: `600`
+ - `duration_ms: integer, int32` (min: 1) — Длительность в миллисекундах. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `5400`
+ - `waveform: string` (max length: 256) — Форма волны для визуализации голосового сообщения. Обязательно для голосовых сообщений (`file_type` — `voice`), для других типов не используется.. Пример: `"4,8,12,20,16,10,6,3"`
- `buttons: array of array` — Массив строк, каждая из которых представлена массивом кнопок. Максимум 100 кнопок у сообщения, до 8 кнопок в строке. Для удаления кнопок пришлите пустой массив.. Пример: `[[{"text":"Подробнее","url":"https://example.com/details"}]]`
- `display_avatar_url: string` — Ссылка на специальную аватарку отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `"https://example.com/avatar.png"`
- `display_name: string` — Полное специальное имя отправителя для этого сообщения. Использование этого поля возможно только с access_token бота.. Пример: `"Бот Поддержки"`
@@ -21042,7 +21137,9 @@ response = await client.messages.get_message(id=194275)
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -21075,7 +21172,9 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/messages/194275" \
"file_type": "image",
"size": 12345,
"width": 800,
- "height": 600
+ "height": 600,
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3"
}
],
"buttons": [
@@ -21114,10 +21213,14 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/messages/194275" \
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -21161,6 +21264,11 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/messages/194275" \
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
@@ -21350,7 +21458,7 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/messages/194275" \
### TypeScript
```typescript
-import { Button, MessageUpdateRequest, MessageUpdateRequestFile, MessageUpdateRequestMessage, PachcaClient } from "@pachca/sdk"
+import { Button, FileType, MessageUpdateRequest, MessageUpdateRequestFile, MessageUpdateRequestMessage, PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
@@ -21360,10 +21468,12 @@ const request: MessageUpdateRequest = {
files: [{
key: "attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png",
name: "logo.png",
- fileType: "image",
+ fileType: FileType.Image,
size: 12345,
width: 800,
- height: 600
+ height: 600,
+ durationMs: 5400,
+ waveform: "4,8,12,20,16,10,6,3"
}],
buttons: [[{
text: "Подробнее",
@@ -21375,14 +21485,14 @@ const request: MessageUpdateRequest = {
}
}
const response = client.messages.updateMessage(194275, request)
-// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
+// → Message({ id: number, entityType: MessageEntityType, entityId: number, chatId: number, rootChatId: number, content: string, userId: number, createdAt: string, url: string, files: File({ id: number, key: string, name: string, fileType: FileType, url: string, width?: number | null, height?: number | null })[], voiceContent: VoiceContent({ durationMs: number, waveform: string, transcript: string | null }) | null, buttons: Button({ text: string, url?: string, data?: string })[][] | null, thread: MessageThread({ id: number, chatId: number }) | null, forwarding: Forwarding({ originalMessageId: number, originalChatId: number, authorId: number, originalCreatedAt: string, originalThreadId: number | null, originalThreadMessageId: number | null, originalThreadParentChatId: number | null }) | null, parentMessageId: number | null, displayAvatarUrl: string | null, displayName: string | null, changedAt: string | null, deletedAt: string | null })
```
### Python
```python
from pachca.client import PachcaClient
-from pachca.models import Button, MessageUpdateRequest, MessageUpdateRequestFile, MessageUpdateRequestMessage
+from pachca.models import Button, FileType, MessageUpdateRequest, MessageUpdateRequestFile, MessageUpdateRequestMessage
client = PachcaClient("YOUR_TOKEN")
@@ -21392,10 +21502,12 @@ request = MessageUpdateRequest(
files=[MessageUpdateRequestFile(
key="attaches/files/93746/e354fd79-4f3e-4b5a-9c8d-1a2b3c4d5e6f/logo.png",
name="logo.png",
- file_type="image",
+ file_type=FileType.IMAGE,
size=12345,
width=800,
- height=600
+ height=600,
+ duration_ms=5400,
+ waveform="4,8,12,20,16,10,6,3"
)],
buttons=[[Button(
text="Подробнее",
@@ -21407,7 +21519,7 @@ request = MessageUpdateRequest(
)
)
response = await client.messages.update_message(id=194275, request=request)
-# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
+# → Message(id: int, entity_type: MessageEntityType, entity_id: int, chat_id: int, root_chat_id: int, content: str, user_id: int, created_at: datetime, url: str, files: list[File(id: int, key: str, name: str, file_type: FileType, url: str, width: int | None, height: int | None)], voice_content: VoiceContent(duration_ms: int, waveform: str, transcript: str | None) | None, buttons: list[list[Button(text: str, url: str | None, data: str | None)]] | None, thread: MessageThread(id: int, chat_id: int) | None, forwarding: Forwarding(original_message_id: int, original_chat_id: int, author_id: int, original_created_at: datetime, original_thread_id: int | None, original_thread_message_id: int | None, original_thread_parent_chat_id: int | None) | None, parent_message_id: int | None, display_avatar_url: str | None, display_name: str | None, changed_at: datetime | None, deleted_at: datetime | None)
```
---
@@ -23248,10 +23360,14 @@ curl "https://api.pachca.com/api/shared/v1/search/messages?query=футболк
- `key: string` (required) — Путь к файлу. Пример: `"attaches/files/12/21zu7934-02e1-44d9-8df2-0f970c259796/congrat.png"`
- `name: string` (required) — Название файла с расширением. Пример: `"congrat.png"`
- `file_type: string` (required) — Тип файла
- Значения: `file` — Обычный файл, `image` — Изображение
+ Значения: `file` — Обычный файл, `image` — Изображение, `audio` — Аудиофайл, `voice` — Голосовое сообщение
- `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"`
- `width: integer, int32` — Ширина изображения в пикселях. Пример: `1920`
- `height: integer, int32` — Высота изображения в пикселях. Пример: `1080`
+ - `voice_content: object` (required) — Данные голосового сообщения. Заполняется только для голосовых сообщений (`file_type` файла — `voice`), иначе `null`.
+ - `duration_ms: integer, int32` (required) — Длительность голосового сообщения в миллисекундах. Пример: `5400`
+ - `waveform: string` (required) — Форма волны (амплитуды) для визуализации голосового сообщения. Пример: `"4,8,12,20,16,10,6,3"`
+ - `transcript: string` (required) — Расшифровка голосового сообщения в текст. `null`, пока расшифровка не готова или недоступна.. Пример: `"Привет, посмотри пожалуйста последний отчёт"`
- `buttons: array of array` (required) — Массив строк, каждая из которых представлена массивом кнопок
- `thread: object` (required) — Тред сообщения
- `id: integer, int64` (required) — Идентификатор треда. Пример: `265142`
@@ -23300,6 +23416,11 @@ curl "https://api.pachca.com/api/shared/v1/search/messages?query=футболк
"height": 1080
}
],
+ "voice_content": {
+ "duration_ms": 5400,
+ "waveform": "4,8,12,20,16,10,6,3",
+ "transcript": "Привет, посмотри пожалуйста последний отчёт"
+ },
"buttons": [
[
{
@@ -25077,7 +25198,7 @@ await client.tasks.delete_task(id=22283)
- `callback_id: string` (max length: 255) — Необязательный идентификатор для распознавания этого представления, который будет отправлен в ваше приложение при отправке пользователем заполненной формы. Используйте это поле, например, для понимания, какую форму должен был заполнить пользователь.. Пример: `"timeoff_reguest_form"`
- `view: object` (required) — Собранный объект представления
- `title: string` (required, max length: 24) — Заголовок представления. Пример: `"Уведомление об отпуске"`
- - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Пример: `"Закрыть"`
+ - `close_text: string` (default: Отменить, max length: 24) — Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается.. Пример: `"Закрыть"`
- `submit_text: string` (default: Отправить, max length: 24) — Текст кнопки отправки формы. Пример: `"Отправить заявку"`
- `blocks: array (union)` (required, max items: 100) — Массив блоков представления
**Возможные типы элементов:**
@@ -25117,7 +25238,6 @@ await client.tasks.delete_task(id=22283)
- `options: array of object` (max items: 100) — Массив доступных пунктов в выпадающем списке
- `text: string` (required, max length: 75) — Отображаемый текст
- `value: string` (required, max length: 150) — Уникальное строковое значение, которое будет передано в ваше приложение при выборе этого пункта
- - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом
- `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.
- `required: boolean` — Обязательность
- `hint: string` (max length: 2000) — Подсказка, которая отображается под выпадающим списком серым цветом
@@ -25219,7 +25339,6 @@ await client.tasks.delete_task(id=22283)
{
"text": "Ничего",
"value": "nothing",
- "description": "Каждый день бот будет присылать список новых задач в вашей команде",
"selected": true
}
],
@@ -25341,7 +25460,6 @@ curl "https://api.pachca.com/api/shared/v1/views/open" \
{
"text": "Ничего",
"value": "nothing",
- "description": "Каждый день бот будет присылать список новых задач в вашей команде",
"selected": true
}
],
@@ -25620,6 +25738,454 @@ await client.views.open_view(request=request)
## API: Bots
+--- [Document source](https://dev.pachca.com/api/bots/create.md) ---
+
+# Создание бота
+
+**Метод**: `POST`
+
+**Путь**: `/bots`
+
+> **Скоуп:** `bots:write`
+
+Метод для создания бота и получения его `access_token`.
+
+При создании вы получите `access_token` бота — сразу сохраните его. Повторно получить токен вы сможете только через интерфейс (вкладка «API» настроек бота).
+
+## Тело запроса
+
+**Обязательно**
+
+Формат: `application/json`
+
+### Схема
+
+- `bot: object` (required) — Собранный объект параметров создаваемого бота
+ - `webhook: object` (required) — Объект параметров вебхука бота
+ - `name: string` (required) — Имя бота. Пример: `"Бот задач"`
+ - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `"tasks_bot"`
+ - `outgoing_url: string` — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `events: array of string` — События, на которые подписан бот. Пример: `["message_new"]`
+ - `trigger_on: string` — Условие срабатывания исходящего вебхука
+ Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)
+ - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `["/task","/help"]`
+
+### Пример
+
+```json
+{
+ "bot": {
+ "webhook": {
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
+ }
+ }
+}
+```
+
+## Пример запроса
+
+```bash
+curl "https://api.pachca.com/api/shared/v1/bots" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "bot": {
+ "webhook": {
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
+ }
+ }
+}'
+```
+
+## Ответы
+
+### 201: The request has succeeded and a new resource has been created as a result.
+
+**Схема ответа:**
+
+- `data: 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"]`
+ - `access_token: string` (required) — Токен доступа бота. Выдаётся только при создании. Повторно получить токен можно только через интерфейс (вкладка «API» настроек бота).. Пример: `"bm90X2FfcmVhbF90b2tlbg"`
+
+**Пример ответа:**
+
+```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"
+ ]
+ },
+ "access_token": "bm90X2FfcmVhbF90b2tlbg"
+ }
+}
+```
+
+### 400: The server could not understand the request due to invalid syntax.
+
+**Схема ответа при ошибке:**
+
+- `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)
+ - `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
+ }
+ ]
+}
+```
+
+### 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)
+ - `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 { BotCreateRequest, BotCreateRequestBot, BotCreateRequestBotWebhook, BotEventName, BotTriggerOn, PachcaClient } from "@pachca/sdk"
+
+const client = new PachcaClient("YOUR_TOKEN")
+
+const request: BotCreateRequest = {
+ bot: {
+ webhook: {
+ name: "Бот задач",
+ nickname: "tasks_bot",
+ outgoingUrl: "https://www.website.com/tasks/new",
+ events: [BotEventName.MessageNew],
+ triggerOn: BotTriggerOn.Commands,
+ commands: ["example"]
+ }
+ }
+}
+const response = client.bots.createBot(request)
+// → BotCreateResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[] }), accessToken: string })
+```
+
+### Python
+
+```python
+from pachca.client import PachcaClient
+from pachca.models import BotCreateRequest, BotCreateRequestBot, BotCreateRequestBotWebhook, BotEventName, BotTriggerOn
+
+client = PachcaClient("YOUR_TOKEN")
+
+request = BotCreateRequest(
+ bot=BotCreateRequestBot(
+ webhook=BotCreateRequestBotWebhook(
+ name="Бот задач",
+ nickname="tasks_bot",
+ outgoing_url="https://www.website.com/tasks/new",
+ events=[BotEventName.MESSAGE_NEW],
+ trigger_on=BotTriggerOn.COMMANDS,
+ commands=["example"]
+ )
+ )
+)
+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]), access_token: str)
+```
+
+---
+
+--- [Document source](https://dev.pachca.com/api/bots/get.md) ---
+
+# Получение бота
+
+**Метод**: `GET`
+
+**Путь**: `/bots/{id}`
+
+> **Скоуп:** `bots:read`
+
+Метод для получения параметров бота по его `user_id`.
+
+## Параметры
+
+### Path параметры
+
+- `id: integer, int32` (required) — Идентификатор бота
+
+
+## Пример запроса
+
+```bash
+curl "https://api.pachca.com/api/shared/v1/bots/1738816" \
+ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
+```
+
+## Ответы
+
+### 200: The request has succeeded.
+
+**Схема ответа:**
+
+- `data: 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"]`
+
+**Пример ответа:**
+
+```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"
+ ]
+ }
+ }
+}
+```
+
+### 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)
+ - `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)
+ - `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")
+
+const response = client.bots.getBot(1738816)
+// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[] }) })
+```
+
+### Python
+
+```python
+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]))
+```
+
+---
+
--- [Document source](https://dev.pachca.com/api/bots/update.md) ---
# Редактирование бота
@@ -25632,7 +26198,7 @@ await client.views.open_view(request=request)
Метод для редактирования бота.
-Для редактирования бота вам необходимо знать его `user_id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса. Узнать `user_id` бота можно в настройках бота во вкладке «API».
+Для редактирования бота вам необходимо знать его `user_id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса.
Вы не можете редактировать бота, настройки которого вам недоступны (поле «Кто может редактировать настройки бота» находится во вкладке «Основное» в настройках бота).
@@ -25653,7 +26219,13 @@ await client.views.open_view(request=request)
- `bot: object` (required) — Собранный объект параметров редактируемого бота
- `webhook: object` (required) — Объект параметров вебхука
- - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `name: string` — Имя бота. Пример: `"Бот задач"`
+ - `nickname: string` — Никнейм бота. Должен заканчиваться на `_bot`.. Пример: `"tasks_bot"`
+ - `outgoing_url: string` — URL исходящего вебхука. Пример: `"https://www.website.com/tasks/new"`
+ - `events: array of string` — События, на которые подписан бот. Пример: `["message_new"]`
+ - `trigger_on: string` — Условие срабатывания исходящего вебхука
+ Значения: `commands` — Только на команды (триггер-слова) из commands, `all_messages` — На все сообщения в чатах, где есть бот, `unfurl` — На развёртывание ссылок (link previews)
+ - `commands: array of string` — Команды бота (триггер-слова), на которые он реагирует при trigger_on = commands. Пример: `["/task","/help"]`
### Пример
@@ -25661,7 +26233,17 @@ await client.views.open_view(request=request)
{
"bot": {
"webhook": {
- "outgoing_url": "https://www.website.com/tasks/new"
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
}
}
}
@@ -25676,7 +26258,17 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
-d '{
"bot": {
"webhook": {
- "outgoing_url": "https://www.website.com/tasks/new"
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task",
+ "/help"
+ ]
}
}
}'
@@ -25689,9 +26281,15 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
**Схема ответа:**
- `data: object` (required) — Параметры бота
- - `id: integer, int32` (required) — Идентификатор бота. Пример: `1738816`
+ - `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"]`
**Пример ответа:**
@@ -25700,7 +26298,16 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
"data": {
"id": 1738816,
"webhook": {
- "outgoing_url": "https://www.website.com/tasks/new"
+ "name": "Бот задач",
+ "nickname": "tasks_bot",
+ "outgoing_url": "https://www.website.com/tasks/new",
+ "events": [
+ "message_new"
+ ],
+ "trigger_on": "commands",
+ "commands": [
+ "/task"
+ ]
}
}
}
@@ -25864,26 +26471,48 @@ curl -X PUT "https://api.pachca.com/api/shared/v1/bots/1738816" \
### TypeScript
```typescript
-import { BotUpdateRequest, BotUpdateRequestBot, BotUpdateRequestBotWebhook, PachcaClient } from "@pachca/sdk"
+import { BotEventName, BotTriggerOn, BotUpdateRequest, BotUpdateRequestBot, BotUpdateRequestBotWebhook, PachcaClient } from "@pachca/sdk"
const client = new PachcaClient("YOUR_TOKEN")
-const request: BotUpdateRequest = { bot: { webhook: { outgoingUrl: "https://www.website.com/tasks/new" } } }
+const request: BotUpdateRequest = {
+ bot: {
+ webhook: {
+ name: "Бот задач",
+ nickname: "tasks_bot",
+ outgoingUrl: "https://www.website.com/tasks/new",
+ events: [BotEventName.MessageNew],
+ triggerOn: BotTriggerOn.Commands,
+ commands: ["example"]
+ }
+ }
+}
const response = client.bots.updateBot(1738816, request)
-// → BotResponse({ id: number, webhook: BotResponseWebhook({ outgoingUrl: string }) })
+// → BotResponse({ id: number, webhook: BotWebhook({ name: string, nickname: string, outgoingUrl: string | null, events: BotEventName[], triggerOn: BotTriggerOn, commands: string[] }) })
```
### Python
```python
from pachca.client import PachcaClient
-from pachca.models import BotUpdateRequest, BotUpdateRequestBot, BotUpdateRequestBotWebhook
+from pachca.models import BotEventName, BotTriggerOn, BotUpdateRequest, BotUpdateRequestBot, BotUpdateRequestBotWebhook
client = PachcaClient("YOUR_TOKEN")
-request = BotUpdateRequest(bot=BotUpdateRequestBot(webhook=BotUpdateRequestBotWebhook(outgoing_url="https://www.website.com/tasks/new")))
+request = BotUpdateRequest(
+ bot=BotUpdateRequestBot(
+ webhook=BotUpdateRequestBotWebhook(
+ name="Бот задач",
+ nickname="tasks_bot",
+ outgoing_url="https://www.website.com/tasks/new",
+ events=[BotEventName.MESSAGE_NEW],
+ trigger_on=BotTriggerOn.COMMANDS,
+ commands=["example"]
+ )
+ )
+)
response = await client.bots.update_bot(id=1738816, request=request)
-# → BotResponse(id: int, webhook: BotResponseWebhook(outgoing_url: str))
+# → BotResponse(id: int, webhook: BotWebhook(name: str, nickname: str, outgoing_url: str | None, events: list[BotEventName], trigger_on: BotTriggerOn, commands: list[str]))
```
---
@@ -25961,7 +26590,7 @@ curl "https://api.pachca.com/api/shared/v1/webhooks/events?limit=1" \
- `code: string` (required) — Emoji символ реакции. Пример: `"👍"`
- `name: string` (required) — Название реакции. Пример: `"thumbsup"`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который добавил или удалил реакцию. Пример: `2345`
- - `created_at: date-time` (required) — Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Пример: `"2025-05-15T14:30:00.000Z"`
+ - `created_at: date-time` (required) — Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Поле присутствует и для события удаления реакции.. Пример: `"2025-05-15T14:30:00.000Z"`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1747574400`
- **ButtonWebhookPayload**: Структура исходящего вебхука о нажатии кнопки
- `type: string` (required) — Тип объекта. Пример: `"button"`
@@ -25981,9 +26610,9 @@ curl "https://api.pachca.com/api/shared/v1/webhooks/events?limit=1" \
Значения: `submit` — Отправка формы
- `callback_id: string` (required) — Идентификатор обратного вызова, указанный при открытии представления. Пример: `"timeoff_request_form"`
- `private_metadata: string` (required) — Приватные метаданные, указанные при открытии представления. Пример: `"{'timeoff_id':4378}"`
- - `chat_id: integer, int32` (required) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`
+ - `chat_id: integer, int32` (required) — Идентификатор чата, в котором была нажата кнопка, открывшая форму. Поле может быть `null` для форм, открытых до выкатки этого поля.. Пример: `9012`
- `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`
- - `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные
+ - `data: Record` (required) — Данные заполненных полей представления. Ключ — `name` блока, значение — введённые данные
**Структура значений Record:**
- Тип значения: `any`
- `webhook_timestamp: integer, int32` (required) — Дата и время отправки вебхука (UTC+0) в формате UNIX. Пример: `1755075544`
@@ -26462,7 +27091,7 @@ curl "https://api.pachca.com/api/shared/v1/audit_events?start_time=2025-05-01T09
- `message_id: integer, int32` (required) — Идентификатор сообщения
- `chat_id: integer, int32` (required) — Идентификатор чата
- `user_id: integer, int32` (required) — Идентификатор пользователя
- - `action_message: string` (required) — Описание действия
+ - `action_message: string` (required) — Описание действия. `null`, если у действия правила текст не задан.
- `conditions_matched: boolean` (required) — Результат проверки условий правила (true — условия сработали)
- **AuditDetailsSearch**: При: search_users_api, search_chats_api, search_messages_api
- `search_type: string` (required) — Тип поиска
diff --git a/apps/docs/public/llms.txt b/apps/docs/public/llms.txt
index 09851a17..253a2739 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) (~349K токенов — обычно не помещается в контекст целиком).
+> Полная документация одним файлом: [llms-full.txt](https://dev.pachca.com/llms-full.txt) (~358K токенов — обычно не помещается в контекст целиком).
> English-only: [llms-en.txt](https://dev.pachca.com/llms-en.txt) (~12K токенов).
@@ -52,9 +52,9 @@
| SDK | Типизированные клиенты для 6 языков | 78–104 |
| Agent Skills | Скиллы для AI-агентов и установка | 105–127 |
| Руководства | Страницы-руководства (Markdown по `.md`) | 128–187 |
-| API-методы | Все эндпоинты, сгруппированы по разделам | 188–288 |
-| Обновления | Журнал обновлений по датам | 289–338 |
-| Дополнительно | Прочие ссылки и контакты | 339–347 |
+| API-методы | Все эндпоинты, сгруппированы по разделам | 188–290 |
+| Обновления | Журнал обновлений по датам | 291–341 |
+| Дополнительно | Прочие ссылки и контакты | 342–350 |
## CLI Quick Start
@@ -279,6 +279,8 @@ C#: new PachcaClient("TOKEN") → await client.Messages.CreateMessage
- [Открытие представления](https://dev.pachca.com/api/views/open.md): POST /views/open
## 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/list-events.md): GET /webhooks/events
- [Удаление события](https://dev.pachca.com/api/bots/remove-event.md): DELETE /webhooks/events/{id}
@@ -287,6 +289,7 @@ C#: new PachcaClient("TOKEN") → await client.Messages.CreateMessage
- [Журнал аудита событий](https://dev.pachca.com/api/security/list.md): GET /audit_events
## Обновления
+- [15 июня 2026 — Создание ботов через API, голосовые сообщения](https://dev.pachca.com/updates/2026-06-15.md)
- [05 июня 2026 — Webhook-модели и polling в SDK](https://dev.pachca.com/updates/2026-06-05.md)
- [20 мая 2026 — Список тредов](https://dev.pachca.com/updates/2026-05-20.md)
- [17 мая 2026 — Гостевая роль и чаты при создании сотрудника, справка по API в CLI](https://dev.pachca.com/updates/2026-05-17.md)
diff --git a/apps/docs/public/pachca.postman_collection.json b/apps/docs/public/pachca.postman_collection.json
index d5e55cf1..d53fb77a 100644
--- a/apps/docs/public/pachca.postman_collection.json
+++ b/apps/docs/public/pachca.postman_collection.json
@@ -762,7 +762,7 @@
},
"body": {
"mode": "raw",
- "raw": "{\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 \"public\": false\n }\n}",
+ "raw": "{\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}",
"options": {
"raw": {
"language": "json"
@@ -1219,7 +1219,7 @@
},
"body": {
"mode": "raw",
- "raw": "{\n \"message\": {\n \"entity_type\": \"discussion\",\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 }\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 \"skip_invite_mentions\": false\n },\n \"link_preview\": false\n}",
+ "raw": "{\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}",
"options": {
"raw": {
"language": "json"
@@ -1295,7 +1295,7 @@
},
"body": {
"mode": "raw",
- "raw": "{\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 }\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}",
+ "raw": "{\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}",
"options": {
"raw": {
"language": "json"
@@ -1755,7 +1755,7 @@
},
"body": {
"mode": "raw",
- "raw": "{\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 \"description\": \"Каждый день бот будет присылать список новых задач в вашей команде\",\n \"selected\": true\n }\n ],\n \"required\": false,\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 \"required\": false,\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 \"required\": false,\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}",
+ "raw": "{\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 \"required\": false,\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 \"required\": false,\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 \"required\": false,\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}",
"options": {
"raw": {
"language": "json"
@@ -1769,6 +1769,59 @@
{
"name": "Bots",
"item": [
+ {
+ "name": "Создание бота",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/bots",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "bots"
+ ]
+ },
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"bot\": {\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 \"/help\"\n ]\n }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "Получение бота",
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{baseUrl}}/bots/:id",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "bots",
+ ":id"
+ ],
+ "variable": [
+ {
+ "key": "id",
+ "value": ""
+ }
+ ]
+ }
+ }
+ },
{
"name": "Редактирование бота",
"request": {
@@ -1797,7 +1850,7 @@
},
"body": {
"mode": "raw",
- "raw": "{\n \"bot\": {\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\n }\n }\n}",
+ "raw": "{\n \"bot\": {\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 \"/help\"\n ]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
diff --git a/apps/docs/public/skill.md b/apps/docs/public/skill.md
index 4f1c8dc9..218c8e57 100644
--- a/apps/docs/public/skill.md
+++ b/apps/docs/public/skill.md
@@ -148,6 +148,8 @@ Tokens are long-lived and do not expire. They can be reset by the admin/owner in
- `POST /views/open` — Open view
### Bots
+- `POST /bots` — Create bot
+- `GET /bots/{id}` — Get bot
- `PUT /bots/{id}` — Update bot
- `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 e85116f8..298b8aaa 100644
--- a/apps/docs/public/updates.md
+++ b/apps/docs/public/updates.md
@@ -6,6 +6,42 @@
## ☀️ Лето 2026
+### Создание ботов через API, голосовые сообщения
+
+_15 июня 2026_
+
+Теперь бота можно создать и получить через API, а не только в интерфейсе. При создании вы получите `access_token` бота — сразу сохраните его, повторно получить токен можно только через интерфейс.
+
+Новые и обновлённые методы для ботов:
+
+- [Создание бота](POST /bots)
+- [Получение бота](GET /bots/{id})
+- [Редактирование бота](PUT /bots/{id})
+
+Появилась поддержка голосовых сообщений. В сообщении возвращается объект `voice_content` с длительностью, формой волны и расшифровкой, а при отправке файла с `file_type` = `voice` принимаются параметры `duration_ms` и `waveform`.
+
+- [Отправка нового сообщения](POST /messages)
+- [Редактирование сообщения](PUT /messages/{id})
+
+В payload вебхука реакции поле `created_at` теперь приходит и при удалении реакции. Также в деталях события аудита DLP поле `action_message` может быть `null`, если у действия правила не задан текст.
+
+### CLI v2026.6.0
+
+- Новая команда — создание бота и получение его access_token
+- Новая команда — получение параметров бота
+- Расширены поля редактирования бота: name, nickname, events, trigger_on, commands
+- В сообщениях появилось поле voice_content и параметры файлов duration_ms / waveform для голосовых сообщений
+
+### n8n Node v2.0.10
+
+- Создание и получение ботов через API (POST /bots, GET /bots/{id})
+- Поддержка голосовых сообщений: поле voice_content и параметры duration_ms / waveform
+
+### SDK v1.0.22
+
+- Методы создания и получения ботов: POST /bots, GET /bots/{id}
+- Поле voice_content в сообщении и параметры файлов duration_ms / waveform для голосовых сообщений
+
### Webhook-модели и polling в SDK
_05 июня 2026_
diff --git a/apps/docs/public/updates/2026-06-15.md b/apps/docs/public/updates/2026-06-15.md
new file mode 100644
index 00000000..3d3c82ae
--- /dev/null
+++ b/apps/docs/public/updates/2026-06-15.md
@@ -0,0 +1,37 @@
+> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://dev.pachca.com/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.
+
+# Создание ботов через API, голосовые сообщения
+
+_15 июня 2026_
+
+Теперь бота можно создать и получить через API, а не только в интерфейсе. При создании вы получите `access_token` бота — сразу сохраните его, повторно получить токен можно только через интерфейс.
+
+Новые и обновлённые методы для ботов:
+
+- [Создание бота](POST /bots)
+- [Получение бота](GET /bots/{id})
+- [Редактирование бота](PUT /bots/{id})
+
+Появилась поддержка голосовых сообщений. В сообщении возвращается объект `voice_content` с длительностью, формой волны и расшифровкой, а при отправке файла с `file_type` = `voice` принимаются параметры `duration_ms` и `waveform`.
+
+- [Отправка нового сообщения](POST /messages)
+- [Редактирование сообщения](PUT /messages/{id})
+
+В payload вебхука реакции поле `created_at` теперь приходит и при удалении реакции. Также в деталях события аудита DLP поле `action_message` может быть `null`, если у действия правила не задан текст.
+
+### CLI v2026.6.0
+
+- Новая команда — создание бота и получение его access_token
+- Новая команда — получение параметров бота
+- Расширены поля редактирования бота: name, nickname, events, trigger_on, commands
+- В сообщениях появилось поле voice_content и параметры файлов duration_ms / waveform для голосовых сообщений
+
+### n8n Node v2.0.10
+
+- Создание и получение ботов через API (POST /bots, GET /bots/{id})
+- Поддержка голосовых сообщений: поле voice_content и параметры duration_ms / waveform
+
+### SDK v1.0.22
+
+- Методы создания и получения ботов: POST /bots, GET /bots/{id}
+- Поле voice_content в сообщении и параметры файлов duration_ms / waveform для голосовых сообщений
diff --git a/apps/docs/public/updates/season/summer-2026.md b/apps/docs/public/updates/season/summer-2026.md
index 8435e40e..cb15e053 100644
--- a/apps/docs/public/updates/season/summer-2026.md
+++ b/apps/docs/public/updates/season/summer-2026.md
@@ -2,6 +2,42 @@
# ☀️ Лето 2026
+### Создание ботов через API, голосовые сообщения
+
+_15 июня 2026_
+
+Теперь бота можно создать и получить через API, а не только в интерфейсе. При создании вы получите `access_token` бота — сразу сохраните его, повторно получить токен можно только через интерфейс.
+
+Новые и обновлённые методы для ботов:
+
+- [Создание бота](POST /bots)
+- [Получение бота](GET /bots/{id})
+- [Редактирование бота](PUT /bots/{id})
+
+Появилась поддержка голосовых сообщений. В сообщении возвращается объект `voice_content` с длительностью, формой волны и расшифровкой, а при отправке файла с `file_type` = `voice` принимаются параметры `duration_ms` и `waveform`.
+
+- [Отправка нового сообщения](POST /messages)
+- [Редактирование сообщения](PUT /messages/{id})
+
+В payload вебхука реакции поле `created_at` теперь приходит и при удалении реакции. Также в деталях события аудита DLP поле `action_message` может быть `null`, если у действия правила не задан текст.
+
+### CLI v2026.6.0
+
+- Новая команда — создание бота и получение его access_token
+- Новая команда — получение параметров бота
+- Расширены поля редактирования бота: name, nickname, events, trigger_on, commands
+- В сообщениях появилось поле voice_content и параметры файлов duration_ms / waveform для голосовых сообщений
+
+### n8n Node v2.0.10
+
+- Создание и получение ботов через API (POST /bots, GET /bots/{id})
+- Поддержка голосовых сообщений: поле voice_content и параметры duration_ms / waveform
+
+### SDK v1.0.22
+
+- Методы создания и получения ботов: POST /bots, GET /bots/{id}
+- Поле voice_content в сообщении и параметры файлов duration_ms / waveform для голосовых сообщений
+
### Webhook-модели и polling в SDK
_05 июня 2026_
diff --git a/apps/docs/public/workflows.arazzo.yaml b/apps/docs/public/workflows.arazzo.yaml
index 4f920995..3ac47387 100644
--- a/apps/docs/public/workflows.arazzo.yaml
+++ b/apps/docs/public/workflows.arazzo.yaml
@@ -315,6 +315,33 @@ workflows:
- stepId: find-and-archive-inactive-chats-2
description: 'For each chat: archive (Check `"channel": false` — archiving channels may be undesirable)'
operationId: ChatOperations_archiveChat
+ - workflowId: create-a-bot-via-api-and-get-its-token
+ summary: Create a bot via API and get its token
+ description: >-
+ Bots can only be created with a user token, not a bot token. The `access_token` is returned
+ once at creation; afterwards it can be viewed and copied in the interface. Manual
+ prerequisites: Save `access_token` from the response — it is returned only once. You can
+ obtain the token again only through the interface (the "API" tab of the bot settings); The
+ response also includes the bot `id` (its `user_id`) — needed for further calls, e.g. adding
+ the bot to a chat.
+ steps:
+ - stepId: create-a-bot-via-api-and-get-its-token-1
+ description: >-
+ Create the bot. User token only (not a bot token); `nickname` must end with `_bot`.
+ Webhook params (Webhook URL, events, commands) can be set now or later
+ operationId: BotOperations_createBot
+ - workflowId: set-up-bot-with-outgoing-webhook
+ summary: Set up bot with outgoing webhook
+ description: >-
+ Alternatively, create and configure the bot in the UI. Webhook URL and events can also be set
+ later via PUT /bots/{id}. Manual prerequisites: Save `access_token` from the response
+ (returned only once); Use the saved `access_token` to send messages on behalf of the bot.
+ steps:
+ - stepId: set-up-bot-with-outgoing-webhook-1
+ description: >-
+ Create the bot, setting its Webhook URL and events in one call (creation and token details
+ — see the "Create a bot via API and get its token" scenario)
+ operationId: BotOperations_createBot
- workflowId: update-bot-webhook-url
summary: Update bot webhook URL
description: Only users with bot edit permissions can update settings.
diff --git a/docs/api-audit.md b/docs/api-audit.md
index 8ada5f67..ee025301 100644
--- a/docs/api-audit.md
+++ b/docs/api-audit.md
@@ -231,6 +231,44 @@ git tag --list 'n8n-v*' --sort=-v:refname | head -1
**Важно:** event_key — свободные строки (нет enum), разбросаны по всему бэкенду (не только по коду публичного API). Проверять все вызовы регистрации аудит-события.
+### 5a. Проверка DLP-системы и схем, документируемых только в гайдах
+
+Часть публичного контракта API живёт **не** в REST-эндпоинтах, а в фичах,
+которыми пользователь управляет через интерфейс, но структуру и поведение
+которых мы документируем. Главный пример — DLP-система: правила не создаются
+через публичный эндпоинт, поэтому шаги 1–4 их не покрывают. При этом структура
+правила (наборы типов условий и действий, параметры контекста применения,
+обязательность полей, значения по умолчанию) и порядок обработки — это
+публичный контракт, который пользователь пишет руками. Такие фичи легко
+выпадают из аудита — проверять их нужно отдельно при **каждом** аудите.
+
+Ключевое отличие от обычного эндпоинта: источник истины для этих схем — **не**
+`typespec.tsp`. Схемы лежат в `apps/docs/lib/schemas/guides/*.json` и
+рендерятся в гайдах через ``. Они не генерируются из TypeSpec и в
+шагах 1–4 не участвуют, поэтому правки при изменении бэкенда могут затронуть
+не `.tsp`, а `.json`-схему и текст `.mdx`-гайда.
+
+DLP документирован в **трёх** местах — при изменении бэкенда сверять каждое:
+
+| Что меняется в бэкенде | Где править в репозитории |
+| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
+| Структура правила: наборы типов условий и действий, параметры контекста, поля, их обязательность и дефолты | `apps/docs/lib/schemas/guides/DlpRule.json` (рендерится в гайде через ``) |
+| Поведение: порядок обработки правил, семантика действий, ограничения движка условий, что видит пользователь | `apps/docs/content/guides/dlp.mdx` (текст, таблицы, примеры) |
+| Состав полей в деталях записи журнала аудита при срабатывании правила | модель деталей DLP-события в `packages/spec/typespec.tsp` + соответствующий event_key (см. §5) |
+
+Что сверять с логикой обработки правил в бэкенде:
+
+- Появились/исчезли типы действий правила → обновить и таблицу действий в гайде, и enum действия в JSON-схеме
+- Появились/исчезли типы условий или их параметры (включая ограничения и значения по умолчанию) → JSON-схема + соответствующий раздел гайда
+- Изменились параметры контекста применения или их допустимые значения → JSON-схема + гайд
+- Изменился порядок или семантика обработки правил → текст гайда
+- Изменился состав полей в деталях аудит-события → модель деталей в TypeSpec (§5)
+
+Тот же подход применять к остальным схемам из каталога
+`apps/docs/lib/schemas/guides/*.json`: при изменении соответствующей логики
+бэкенда сверять и JSON-схему, и текст гайда — они вне TypeSpec и в шагах 1–4
+не видны.
+
### 6. Внесение изменений
Если найдены расхождения:
@@ -511,6 +549,13 @@ model EntityName {
- Enum-описания через `@extension("x-enum-descriptions", ...)`
- Каждое поле — `@doc()` + `@example()`
- Склонения описаний enum должны согласовываться с сущностью (напоминание → «Выполнено», задача → «Выполнена»)
+- **Точки в `@doc` поля — всё или ничего.** Однострочное описание-фрагмент пишем
+ **без** завершающей точки (как большинство полей: «Идентификатор сообщения»).
+ Но если описание из **двух и более предложений**, точка должна стоять в конце
+ **каждого** предложения, включая последнее. Типичная ошибка (возникает
+ постоянно): первое предложение с точкой, последнее — без («…в текст. `null`,
+ пока не готова» → правильно «…в текст. `null`, пока не готова**.**»). То же —
+ в EN-переводе в `overlay.en.yaml`.
### Модели запросов (request)
@@ -558,6 +603,19 @@ enum EnumName {
}
```
+**ОБЯЗАТЕЛЬНО — описание у каждого значения enum.** Страница «Возможные
+значения» в доке рендерится из `@extension("x-enum-descriptions", …)`, а **не**
+из `@doc` на членах enum (member-`@doc` — декоративный, в `x-enum-descriptions`
+не попадает). Поэтому:
+
+- У **каждого** значения нового enum должна быть строка в `x-enum-descriptions`
+ — иначе значение покажется без описания.
+- При добавлении нового значения в **существующий** enum — дописать его и в
+ `x-enum-descriptions` (легко забыть: правишь тело enum, а блок `@extension`
+ выше остаётся со старым набором).
+- Для EN: добавить те же ключи в `x-enum-descriptions` соответствующего
+ `target` в `packages/spec/overlay.en.yaml` (иначе `overlay:validate` упадёт).
+
### Операции (endpoints)
Добавлять внутри соответствующего `interface` или создать новый:
diff --git a/integrations/n8n/CHANGELOG.md b/integrations/n8n/CHANGELOG.md
index dac834d4..e5e9f1cc 100644
--- a/integrations/n8n/CHANGELOG.md
+++ b/integrations/n8n/CHANGELOG.md
@@ -1,6 +1,13 @@
# Changelog
+## 2.0.10 (2026-06-15)
+
+### Improvements
+
+- Bot: create and get bots via API (`POST /bots`, `GET /bots/{id}`)
+- Message: voice message support — `voice_content` field and `duration_ms` / `waveform` file parameters
+
## 2.0.9 (2026-05-20)
### Improvements
diff --git a/integrations/n8n/README.md b/integrations/n8n/README.md
index 3d406bb6..628d7a4c 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.9/n8n-nodes-pachca.tgz
+wget https://github.com/pachca/openapi/releases/download/n8n-v2.0.10/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 036650e0..990ec305 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.9`
+- **npm version**: SemVer (`MAJOR.MINOR.PATCH`), current: `2.0.10`
- **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/SharedRouter.ts b/integrations/n8n/nodes/Pachca/SharedRouter.ts
index 9578b3c8..5cb7b770 100644
--- a/integrations/n8n/nodes/Pachca/SharedRouter.ts
+++ b/integrations/n8n/nodes/Pachca/SharedRouter.ts
@@ -103,6 +103,16 @@ const ROUTES: Record> = {
},
},
bot: {
+ create: {
+ method: 'POST' as IHttpRequestMethods,
+ path: '/bots',
+ wrapperKey: 'bot',
+ },
+ get: {
+ method: 'GET' as IHttpRequestMethods,
+ path: '/bots/{id}',
+ pathParams: [{ api: 'id', n8n: 'id' }],
+ },
update: {
method: 'PUT' as IHttpRequestMethods,
path: '/bots/{id}',
diff --git a/integrations/n8n/nodes/Pachca/V2/BotDescription.ts b/integrations/n8n/nodes/Pachca/V2/BotDescription.ts
index c54528c9..247cb674 100644
--- a/integrations/n8n/nodes/Pachca/V2/BotDescription.ts
+++ b/integrations/n8n/nodes/Pachca/V2/BotDescription.ts
@@ -8,6 +8,16 @@ export const botOperations: INodeProperties[] = [
noDataExpression: true,
displayOptions: { show: { resource: ['bot'] } },
options: [
+ {
+ name: 'Create',
+ value: 'create',
+ action: 'Create a bot',
+ },
+ {
+ name: 'Get',
+ value: 'get',
+ action: 'Get a bot',
+ },
{
name: 'Get Many Events',
value: 'getAllEvents',
@@ -24,11 +34,37 @@ export const botOperations: INodeProperties[] = [
action: 'Update a bot',
},
],
- default: 'update',
+ default: 'create',
},
];
export const botFields: INodeProperties[] = [
+ {
+ displayName: 'Webhook',
+ name: 'webhook',
+ type: 'json',
+ required: true,
+ default: "{}",
+ description: 'Bot webhook parameters object',
+ displayOptions: { show: { resource: ['bot'], operation: ['create'] } },
+ },
+ {
+ displayName: 'ID',
+ name: 'id',
+ type: 'number',
+ required: true,
+ default: 0,
+ displayOptions: { show: { resource: ['bot'], operation: ['get'] } },
+ description: 'Bot ID',
+ },
+ {
+ 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: ['get'] } },
+ },
{
displayName: 'ID',
name: 'botId',
diff --git a/integrations/n8n/nodes/Pachca/V2/MessageDescription.ts b/integrations/n8n/nodes/Pachca/V2/MessageDescription.ts
index 77e9328f..eb5faeb9 100644
--- a/integrations/n8n/nodes/Pachca/V2/MessageDescription.ts
+++ b/integrations/n8n/nodes/Pachca/V2/MessageDescription.ts
@@ -126,12 +126,21 @@ export const messageFields: INodeProperties[] = [
name: 'file',
displayName: 'File',
values: [
+ {
+ displayName: 'Duration Ms',
+ name: 'duration_ms',
+ type: 'number',
+ default: 0,
+ description: 'Duration in milliseconds. Required for voice messages (`file_type` is `voice`), not used for other types.',
+ },
{
displayName: 'File Type',
name: 'file_type',
type: 'options',
- options: [{ name: 'File', value: 'file', description: 'Regular file' },
-{ name: 'Image', value: 'image' }],
+ options: [{ name: 'Audio', value: 'audio', description: 'Audio file' },
+{ name: 'File', value: 'file', description: 'Regular file' },
+{ name: 'Image', value: 'image' },
+{ name: 'Voice', value: 'voice', description: 'Voice message' }],
default: "",
},
{
@@ -162,6 +171,13 @@ export const messageFields: INodeProperties[] = [
default: 0,
description: 'File size in bytes, displayed to the user',
},
+ {
+ displayName: 'Waveform',
+ name: 'waveform',
+ type: 'string',
+ default: "",
+ description: 'Waveform for visualizing the voice message. Required for voice messages (`file_type` is `voice`), not used for other types.',
+ },
{
displayName: 'Width',
name: 'width',
@@ -417,10 +433,21 @@ export const messageFields: INodeProperties[] = [
name: 'file',
displayName: 'File',
values: [
+ {
+ displayName: 'Duration Ms',
+ name: 'duration_ms',
+ type: 'number',
+ default: 0,
+ description: 'Duration in milliseconds. Required for voice messages (`file_type` is `voice`), not used for other types.',
+ },
{
displayName: 'File Type',
name: 'file_type',
- type: 'string',
+ type: 'options',
+ options: [{ name: 'Audio', value: 'audio', description: 'Audio file' },
+{ name: 'File', value: 'file', description: 'Regular file' },
+{ name: 'Image', value: 'image' },
+{ name: 'Voice', value: 'voice', description: 'Voice message' }],
default: "",
description: 'File type: file (file), image (image)',
},
@@ -452,6 +479,13 @@ export const messageFields: INodeProperties[] = [
default: 0,
description: 'File size in bytes, displayed to the user',
},
+ {
+ displayName: 'Waveform',
+ name: 'waveform',
+ type: 'string',
+ default: "",
+ description: 'Waveform for visualizing the voice message. Required for voice messages (`file_type` is `voice`), not used for other types.',
+ },
{
displayName: 'Width',
name: 'width',
diff --git a/integrations/n8n/package.json b/integrations/n8n/package.json
index 42ee4803..b6db4bf4 100644
--- a/integrations/n8n/package.json
+++ b/integrations/n8n/package.json
@@ -1,6 +1,6 @@
{
"name": "n8n-nodes-pachca",
- "version": "2.0.9",
+ "version": "2.0.10",
"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 57b0199f..6c8f4325 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 2026.6.0 (15 июня 2026)
+
+- **Добавлено** (bots create): Новая команда — создание бота и получение его `access_token`
+- **Добавлено** (bots get): Новая команда — получение параметров бота
+- **Изменено** (bots update): Расширены поля редактирования бота: `name`, `nickname`, `events`, `trigger_on`, `commands`
+- **Добавлено**: В сообщениях появилось поле `voice_content` и параметры файлов `duration_ms` / `waveform` для голосовых сообщений
+- **Изменено**: Чище примеры: убраны опциональные флаги и поля, чьё значение равно дефолту схемы (`--no-skip-invite-mentions`, `--no-link-preview` и т.п.); кавычки в примерах ставятся только при наличии shell-метасимволов
+
## 2026.5.6 (21 мая 2026)
- **Изменено** (api): В выводе `pachca api <МЕТОД> <путь> --describe` у полей запроса и ответа появились примеры значений
diff --git a/packages/cli/README.md b/packages/cli/README.md
index 3bf0a9e3..009a6abe 100644
--- a/packages/cli/README.md
+++ b/packages/cli/README.md
@@ -78,6 +78,8 @@ pachca guide # список всех сценариев
| Команда | Описание |
|---------|---------|
+| `pachca bots create` | Создание бота |
+| `pachca bots get` | Получение бота |
| `pachca bots update` | Редактирование бота |
| `pachca bots list-events` | История событий |
| `pachca bots remove-event` | Удаление события |
diff --git a/packages/cli/oclif.manifest.json b/packages/cli/oclif.manifest.json
index 39bfc323..1172ce17 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: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: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"},"webhook":{"description":"Объект параметров вебхука","name":"webhook","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"],"requiredFlags":["webhook"],"isESM":true,"relativePath":["dist","commands","bots","update.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: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: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"]},"common:custom-properties":{"aliases":[],"args":{},"description":"Список дополнительных полей","examples":["Получить кастомные поля профиля:\n $ pachca common custom-properties"],"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":[],"id":"common:custom-properties","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","common","custom-properties.js"]},"common: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":[],"id":"common: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","common","direct-url.js"]},"common:get-exports":{"aliases":[],"args":{"id":{"description":"Идентификатор экспорта","name":"id","required":true}},"description":"Скачать архив экспорта","examples":["Экспорт истории чата:\n $ pachca common get-exports"],"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":[],"id":"common:get-exports","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","common","get-exports.js"]},"common:request-export":{"aliases":[],"args":{},"description":"Экспорт сообщений","examples":["Экспорт истории чата:\n $ pachca common 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":[],"id":"common: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","common","request-export.js"]},"common:uploads":{"aliases":[],"args":{},"description":"Получение подписи, ключа и других параметров","examples":["Изменить вложения сообщения:\n $ pachca common 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":[],"id":"common: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","common","uploads.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"]},"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"]},"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"]},"link-previews:add":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Unfurl (разворачивание ссылок)","examples":["Разворачивание ссылок (unfurling):\n $ pachca link-previews 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"},"link-previews":{"description":"`JSON` карта предпросмотров ссылок, где каждый ключ — `URL`, который был получен в исходящем вебхуке о новом сообщении.","name":"link-previews","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"link-previews:add","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","link-previews","add.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: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"]},"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-info":{"aliases":[],"args":{},"description":"Информация о токене","examples":["Проверить свой токен:\n $ pachca profile get-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":[],"id":"profile:get-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","profile","get-info.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"},"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"],"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":"Текст кнопки закрытия представления (макс. 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"],"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"},"webhook":{"description":"Объект параметров вебхука бота","name":"webhook","hasDynamicHelp":false,"multiple":false,"type":"option"}},"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":["webhook"],"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: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"},"webhook":{"description":"Объект параметров вебхука","name":"webhook","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"],"requiredFlags":["webhook"],"isESM":true,"relativePath":["dist","commands","bots","update.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: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: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"]},"common:custom-properties":{"aliases":[],"args":{},"description":"Список дополнительных полей","examples":["Получить кастомные поля профиля:\n $ pachca common custom-properties"],"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":[],"id":"common:custom-properties","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","common","custom-properties.js"]},"common: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":[],"id":"common: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","common","direct-url.js"]},"common:get-exports":{"aliases":[],"args":{"id":{"description":"Идентификатор экспорта","name":"id","required":true}},"description":"Скачать архив экспорта","examples":["Экспорт истории чата:\n $ pachca common get-exports"],"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":[],"id":"common:get-exports","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","common","get-exports.js"]},"common:request-export":{"aliases":[],"args":{},"description":"Экспорт сообщений","examples":["Экспорт истории чата:\n $ pachca common 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":[],"id":"common: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","common","request-export.js"]},"common:uploads":{"aliases":[],"args":{},"description":"Получение подписи, ключа и других параметров","examples":["Изменить вложения сообщения:\n $ pachca common 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":[],"id":"common: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","common","uploads.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"]},"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"]},"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"]},"link-previews:add":{"aliases":[],"args":{"id":{"description":"Идентификатор сообщения","name":"id","required":true}},"description":"Unfurl (разворачивание ссылок)","examples":["Разворачивание ссылок (unfurling):\n $ pachca link-previews 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"},"link-previews":{"description":"`JSON` карта предпросмотров ссылок, где каждый ключ — `URL`, который был получен в исходящем вебхуке о новом сообщении.","name":"link-previews","hasDynamicHelp":false,"multiple":false,"type":"option"}},"hasDynamicHelp":false,"hiddenAliases":[],"id":"link-previews:add","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","link-previews","add.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: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"]},"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-info":{"aliases":[],"args":{},"description":"Информация о токене","examples":["Проверить свой токен:\n $ pachca profile get-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":[],"id":"profile:get-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","profile","get-info.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"},"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"],"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
new file mode 100644
index 00000000..b150b8d2
--- /dev/null
+++ b/packages/cli/src/commands/bots/create.ts
@@ -0,0 +1,73 @@
+// 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 BotsCreate extends BaseCommand {
+ static override description = "Создание бота";
+
+ static override examples = [
+ "Создать бота через API и получить токен:\n $ pachca bots create",
+ "Настроить бота с исходящим вебхуком:\n $ pachca bots create"
+ ];
+
+ static scope = "bots:write";
+ static apiMethod = "POST";
+ static apiPath = "/bots";
+ static defaultColumns = ["id","webhook","access_token"];
+ static requiredFlags = ["webhook"];
+
+ static override args = {
+
+ };
+
+ static override flags = {
+ ...BaseCommand.baseFlags,
+ 'webhook': Flags.string({
+ description: "Объект параметров вебхука бота",
+ }),
+ };
+
+ async run(): Promise {
+ const { args, flags } = await this.parse(BotsCreate);
+ this.parsedFlags = flags;
+
+ const missingRequired: { flag: string; label: string; type: string }[] = [
+ { flag: 'webhook', label: "Объект параметров вебхука бота", type: 'string' },
+ ].filter((f) => (flags as Record)[f.flag] === undefined || (flags as Record)[f.flag] === null);
+
+ if (missingRequired.length > 0) {
+ if (this.isInteractive()) {
+ for (const field of missingRequired) {
+ const value = await clack.text({ message: field.label, validate: (v) => v.length === 0 ? 'Обязательное поле' : undefined });
+ if (clack.isCancel(value)) { process.stderr.write('Отменено.\n'); this.exit(0); }
+ if (field.type === 'integer') { (flags as Record)[field.flag] = Number.parseInt(value, 10); }
+ else if (field.type === 'boolean') { (flags as Record)[field.flag] = value === 'true'; }
+ else { (flags as Record)[field.flag] = value; }
+ }
+ } else {
+ this.validationError(
+ missingRequired.map((f) => ({ message: `Обязательный флаг --${f.flag} не передан`, flag: f.flag })),
+ { hint: "Обязательные: --webhook . pachca introspect bots create" },
+ );
+ }
+ }
+
+ const body: Record = { bot: {
+ webhook: flags['webhook'] ? this.parseJSON(flags['webhook'], 'webhook') : undefined,
+ } };
+ // Clean undefined fields
+ const inner = body['bot'] as Record;
+ for (const [k, v] of Object.entries(inner)) { if (v === undefined) delete inner[k]; }
+
+ const { data } = await this.apiRequest({
+ method: 'POST',
+ path: '/bots',
+ body,
+ });
+
+ const responseBody = data as Record;
+ const result = responseBody.data ?? responseBody;
+ this.output(result);
+ }
+}
diff --git a/packages/cli/src/commands/bots/get.ts b/packages/cli/src/commands/bots/get.ts
new file mode 100644
index 00000000..e49d59a4
--- /dev/null
+++ b/packages/cli/src/commands/bots/get.ts
@@ -0,0 +1,42 @@
+// Auto-generated from openapi.yaml — DO NOT EDIT
+import { Args, Flags } from '@oclif/core';
+import { BaseCommand } from '../../base-command.js';
+
+export default class BotsGet extends BaseCommand {
+ static override description = "Получение бота";
+
+ static override examples = [
+ "Обновить Webhook URL бота:\n $ pachca bots update"
+ ];
+
+ static scope = "bots:read";
+ static apiMethod = "GET";
+ static apiPath = "/bots/{id}";
+ static defaultColumns = ["id","webhook"];
+
+ static override args = {
+ id: Args.integer({
+ description: "Идентификатор бота (pachca bots list)",
+ required: true,
+ }),
+ };
+
+ static override flags = {
+ ...BaseCommand.baseFlags,
+
+ };
+
+ async run(): Promise {
+ const { args, flags } = await this.parse(BotsGet);
+ this.parsedFlags = flags;
+
+ const { data } = await this.apiRequest({
+ method: 'GET',
+ path: `/bots/${args.id}`,
+ });
+
+ const responseBody = data as Record;
+ const result = responseBody.data ?? responseBody;
+ this.output(result);
+ }
+}
diff --git a/packages/cli/src/commands/bots/update.ts b/packages/cli/src/commands/bots/update.ts
index 271c2cae..ca12b6ef 100644
--- a/packages/cli/src/commands/bots/update.ts
+++ b/packages/cli/src/commands/bots/update.ts
@@ -13,7 +13,7 @@ export default class BotsUpdate extends BaseCommand {
static scope = "bots:write";
static apiMethod = "PUT";
static apiPath = "/bots/{id}";
- static defaultColumns = ["id"];
+ static defaultColumns = ["id","webhook"];
static requiredFlags = ["webhook"];
static override args = {
diff --git a/packages/cli/src/commands/views/open.ts b/packages/cli/src/commands/views/open.ts
index 1c98f2fb..2a874b6b 100644
--- a/packages/cli/src/commands/views/open.ts
+++ b/packages/cli/src/commands/views/open.ts
@@ -27,7 +27,7 @@ export default class ViewsOpen extends BaseCommand {
description: "Заголовок представления (макс. 24 символов)",
}),
'close-text': Flags.string({
- description: "Текст кнопки закрытия представления (макс. 24 символов)",
+ description: "Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается. (макс. 24 символов)",
}),
'submit-text': Flags.string({
description: "Текст кнопки отправки формы (макс. 24 символов)",
diff --git a/packages/cli/src/data/alternatives.json b/packages/cli/src/data/alternatives.json
index 85768b75..d2f56fba 100644
--- a/packages/cli/src/data/alternatives.json
+++ b/packages/cli/src/data/alternatives.json
@@ -1,5 +1,7 @@
{
"security:list": "Журнал аудита событий",
+ "bots:create": "Создание бота",
+ "bots:get": "Получение бота",
"bots:update": "Редактирование бота",
"chats:create": "Новый чат",
"chats:list": "Список чатов",
diff --git a/packages/cli/src/data/changelog.json b/packages/cli/src/data/changelog.json
index 87321f1c..c9865c90 100644
--- a/packages/cli/src/data/changelog.json
+++ b/packages/cli/src/data/changelog.json
@@ -1,4 +1,33 @@
[
+ {
+ "version": "2026.6.0",
+ "date": "15 июня 2026",
+ "changes": [
+ {
+ "type": "+",
+ "command": "bots create",
+ "description": "Новая команда — создание бота и получение его `access_token`"
+ },
+ {
+ "type": "+",
+ "command": "bots get",
+ "description": "Новая команда — получение параметров бота"
+ },
+ {
+ "type": "~",
+ "command": "bots update",
+ "description": "Расширены поля редактирования бота: `name`, `nickname`, `events`, `trigger_on`, `commands`"
+ },
+ {
+ "type": "+",
+ "description": "В сообщениях появилось поле `voice_content` и параметры файлов `duration_ms` / `waveform` для голосовых сообщений"
+ },
+ {
+ "type": "~",
+ "description": "Чище примеры: убраны опциональные флаги и поля, чьё значение равно дефолту схемы (`--no-skip-invite-mentions`, `--no-link-preview` и т.п.); кавычки в примерах ставятся только при наличии shell-метасимволов"
+ }
+ ]
+ },
{
"version": "2026.5.6",
"date": "21 мая 2026",
diff --git a/packages/cli/src/data/commands.json b/packages/cli/src/data/commands.json
index d17e8886..e023ce38 100644
--- a/packages/cli/src/data/commands.json
+++ b/packages/cli/src/data/commands.json
@@ -123,6 +123,38 @@
{
"section": "bots",
"commands": [
+ {
+ "command": "pachca bots create",
+ "summary": "Создание бота",
+ "method": "POST",
+ "path": "/bots",
+ "scope": "bots:write",
+ "plan": null,
+ "flags": [
+ {
+ "name": "webhook",
+ "type": "option",
+ "required": true,
+ "description": "Объект параметров вебхука бота"
+ }
+ ]
+ },
+ {
+ "command": "pachca bots get",
+ "summary": "Получение бота",
+ "method": "GET",
+ "path": "/bots/{id}",
+ "scope": "bots:read",
+ "plan": null,
+ "args": [
+ {
+ "name": "id",
+ "required": true,
+ "description": "Идентификатор бота (pachca bots list)"
+ }
+ ],
+ "flags": []
+ },
{
"command": "pachca bots list-events",
"summary": "История событий",
@@ -2692,7 +2724,7 @@
"name": "close-text",
"type": "option",
"required": false,
- "description": "Текст кнопки закрытия представления (макс. 24 символов)"
+ "description": "Текст кнопки закрытия представления. Отображается только в десктоп-вебе. В мобильных приложениях (iOS/Android) кнопка закрытия — это крестик в шапке, и заданный текст там не показывается. (макс. 24 символов)"
},
{
"name": "submit-text",
diff --git a/packages/cli/src/data/endpoints.json b/packages/cli/src/data/endpoints.json
index 3ad46e42..be72941d 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"],"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"},"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"],"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"},"$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","$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":"Описание действия"},"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"}],"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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`\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\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\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) — Описание действия\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 - `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)\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)\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)\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- `bot: object` (required) — Собранный объект параметров редактируемого бота\n - `webhook: object` (required) — Объект параметров вебхука\n - `outgoing_url: string` (required) — URL исходящего вебхука\n\n## Эквивалентная команда\n\n```bash\npachca bots update 1738816 \\\n --webhook='{\"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\nПолная справка: `pachca api PUT /bots/{id} --docs` · схема: `--spec`\n","spec":{"method":"PUT","path":"/bots/{id}","description":"Редактирование бота\n\nМетод для редактирования бота.\n\nДля редактирования бота вам необходимо знать его `user_id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса. Узнать `user_id` бота можно в настройках бота во вкладке «API».\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":["bot"],"properties":{"bot":{"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/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":"Идентификатор бота","example":1738816},"webhook":{"type":"object","description":"Объект параметров вебхука","required":["outgoing_url"],"properties":{"outgoing_url":{"type":"string","description":"URL исходящего вебхука","example":"https://www.website.com/tasks/new"}}}},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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","bot"]},"paginated":false},"docs":"# Редактирование бота\n\n**Метод**: `PUT`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:write`\n\nМетод для редактирования бота.\n\nДля редактирования бота вам необходимо знать его `user_id` и указать его в `URL` запроса. Все редактируемые параметры бота указываются в теле запроса. Узнать `user_id` бота можно в настройках бота во вкладке «API».\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- `bot: object` (required) — Собранный объект параметров редактируемого бота\n - `webhook: object` (required) — Объект параметров вебхука\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n\n### Пример\n\n```json\n{\n \"bot\": {\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\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 \"bot\": {\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\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) — Идентификатор бота. Пример: `1738816`\n - `webhook: object` (required) — Объект параметров вебхука\n - `outgoing_url: string` (required) — URL исходящего вебхука. Пример: `\"https://www.website.com/tasks/new\"`\n\n**Пример ответа:**\n\n```json\n{\n \"data\": {\n \"id\": 1738816,\n \"webhook\": {\n \"outgoing_url\": \"https://www.website.com/tasks/new\"\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)\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)\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)\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)\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 --no-public \\\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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 \"public\": false\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 \"public\": false\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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 common request-export","docLink":"https://dev.pachca.com/api/common/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` — Пропуск формирования файла со списком чатов (chats.json)\n\n## Эквивалентная команда\n\n```bash\npachca common 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 --no-skip-chats-file \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/common/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)","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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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` — Пропуск формирования файла со списком чатов (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 \"skip_chats_file\": false\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 \"skip_chats_file\": false\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)\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)\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)\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 common get-exports","docLink":"https://dev.pachca.com/api/common/get-exports","describe":"# GET /chats/exports/{id} — Скачать архив экспорта\n\n> **Скоуп:** `chat_exports:read`\n\n> **Тариф:** Корпорация\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор экспорта\n\n## Эквивалентная команда\n\n```bash\npachca common get-exports 22322 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/common/get-exports\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"],"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)"},"$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"],"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)"},"$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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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)\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"],"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)"},"$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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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)\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 common custom-properties","docLink":"https://dev.pachca.com/api/common/custom-properties","describe":"# GET /custom_properties — Список дополнительных полей\n\n> **Скоуп:** `custom_properties:read`\n\n## Параметры\n\n- `entity_type` — query (обязательный): Тип сущности\n\n## Эквивалентная команда\n\n```bash\npachca common custom-properties \\\n --entity-type=User \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/common/custom-properties\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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 common direct-url","docLink":"https://dev.pachca.com/api/common/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 common 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/common/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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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)\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` — Изображение\n - `size: integer, int32` (required) — Размер файла в байтах, отображаемый пользователю\n - `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image)\n - `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image)\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-type=discussion \\\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}]' \\\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 --no-skip-invite-mentions \\\n --no-link-preview \\\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"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение"},"$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}}}},"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","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"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение"},"$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"}},"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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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` — Изображение\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 - `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_type\": \"discussion\",\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 }\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 \"skip_invite_mentions\": false\n },\n \"link_preview\": false\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_type\": \"discussion\",\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 }\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 \"skip_invite_mentions\": false\n },\n \"link_preview\": false\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` — Изображение\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 - `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 \"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)\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)\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)\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","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"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение"},"$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"}},"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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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` — Изображение\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 - `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 \"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)\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)\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)\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)\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","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"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение"},"$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"}},"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"],"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)"},"$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"],"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)"},"$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` — Изображение\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 - `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 \"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)\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)\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` — Тип файла: файл (file), изображение (image)\n - `size: integer, int32` — Размер файла в байтах, отображаемый пользователю\n - `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image)\n - `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image)\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}]' \\\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":{"type":"string","description":"Тип файла: файл (file), изображение (image)","example":"image"},"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}}}},"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","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"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение"},"$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"}},"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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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` — Тип файла: файл (file), изображение (image). Пример: `\"image\"`\n - `size: integer, int32` — Размер файла в байтах, отображаемый пользователю. Пример: `12345`\n - `width: integer, int32` — Ширина изображения в px (используется в случае, если file_type указан как image). Пример: `800`\n - `height: integer, int32` — Высота изображения в px (используется в случае, если file_type указан как image). Пример: `600`\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 }\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 }\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` — Изображение\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 - `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 \"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)\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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 link-previews add","docLink":"https://dev.pachca.com/api/link-previews/add","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 link-previews add 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/link-previews/add\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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)\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"],"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)"},"$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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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)\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"],"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)"},"$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)\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 profile get-info","docLink":"https://dev.pachca.com/api/profile/get-info","describe":"# GET /oauth/token/info — Информация о токене\n\n## Эквивалентная команда\n\n```bash\npachca profile get-info \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/profile/get-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: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: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:write":["owner","admin","user","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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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- `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 --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":"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","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"],"x-enum-descriptions":{"file":"Обычный файл","image":"Изображение"},"$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"}},"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"],"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)"},"$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"],"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)"},"$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- `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&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` — Изображение\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 - `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 \"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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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 --kind=reminder \\\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":"Тип","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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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 \"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 ],\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 \"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 ],\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)\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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 common uploads","docLink":"https://dev.pachca.com/api/common/uploads","describe":"# POST /uploads — Получение подписи, ключа и других параметров\n\n> **Скоуп:** `uploads:write`\n\n## Эквивалентная команда\n\n```bash\npachca common uploads \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/common/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"],"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)"},"$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)\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` — Деактивация пользователя\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` — Пропуск этапа отправки приглашения сотруднику. Сотруднику не будет отправлено письмо на электронную почту с приглашением создать аккаунт. Полезно при предварительном создании аккаунтов перед входом через 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 --no-suspended \\\n --list-tags=Product,Design \\\n --chat-ids=12345 \\\n --custom-properties='[{\"id\":1678,\"value\":\"Санкт-Петербург\"}]' \\\n --skip-email-notify \\\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":"Деактивация пользователя","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.","example":true}},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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` — Деактивация пользователя. Пример: `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` — Пропуск этапа отправки приглашения сотруднику. Сотруднику не будет отправлено письмо на электронную почту с приглашением создать аккаунт. Полезно при предварительном создании аккаунтов перед входом через SSO.. Пример: `true`\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 \"suspended\": false,\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 \"skip_email_notify\": true\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 \"suspended\": false,\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 \"skip_email_notify\": true\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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` — Деактивация пользователя\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 --no-suspended \\\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":"Деактивация пользователя","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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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` — Деактивация пользователя. Пример: `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 \"suspended\": false,\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 \"suspended\": false,\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)\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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)\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) — Текст кнопки закрытия представления\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` — Многострочное поле\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` — Обязательность\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 - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом\n - `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.\n - `required: boolean` — Обязательность\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` — Обязательность\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` — Обязательность\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` — Обязательность\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` — Обязательность\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` — Обязательность\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\",\"description\":\"Каждый день бот будет присылать список новых задач в вашей команде\",\"selected\":true}],\"required\":false,\"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}],\"required\":false,\"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\",\"required\":false,\"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":"Текст кнопки закрытия представления","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":"Многострочное поле","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":"Обязательность","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","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":"Обязательность","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":"Обязательность","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":"Обязательность","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":"Обязательность","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":"Обязательность","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":"Обязательность","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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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) — Текст кнопки закрытия представления. Пример: `\"Закрыть\"`\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` — Многострочное поле\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` — Обязательность\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 - `description: string` (max length: 75) — Пояснение, которое будет указано серым цветом в этом пункте под отображаемым текстом\n - `selected: boolean` — Изначально выбранный пункт. Только один пункт может быть выбран.\n - `required: boolean` — Обязательность\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` — Обязательность\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` — Обязательность\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` — Обязательность\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` — Обязательность\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` — Обязательность\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 \"description\": \"Каждый день бот будет присылать список новых задач в вашей команде\",\n \"selected\": true\n }\n ],\n \"required\": false,\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 \"required\": false,\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 \"required\": false,\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 \"description\": \"Каждый день бот будет присылать список новых задач в вашей команде\",\n \"selected\": true\n }\n ],\n \"required\": false,\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 \"required\": false,\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 \"required\": false,\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)\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)\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)\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)\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":"Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).","example":9012,"nullable":true},"user_id":{"type":"integer","format":"int32","description":"Идентификатор пользователя, который отправил форму","example":1235523},"data":{"type":"object","description":"Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные","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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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) — Идентификатор чата, в котором было нажатие кнопки, открывшей форму. Значение фиксируется в момент **открытия** формы, а не отправки — если форма провисела открытой длительное время, `chat_id` всё равно ссылается на чат с кнопкой. Поле всегда присутствует в payload. Для форм, открытых до выкатки этого изменения, `chat_id` придёт как `null` — такие формы постепенно вымоются по TTL сохранённого представления (30 дней).. Пример: `9012`\n - `user_id: integer, int32` (required) — Идентификатор пользователя, который отправил форму. Пример: `1235523`\n - `data: Record` (required) — Данные заполненных полей представления. Ключ — `action_id` поля, значение — введённые данные\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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"},"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"],"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"},"$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","$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"}],"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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`\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\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\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 - `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)\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)\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)\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- `bot: object` (required) — Собранный объект параметров создаваемого бота\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\n## Эквивалентная команда\n\n```bash\npachca bots create \\\n --webhook='{\"name\":\"Бот задач\",\"nickname\":\"tasks_bot\",\"outgoing_url\":\"https://www.website.com/tasks/new\",\"events\":[\"message_new\"],\"trigger_on\":\"commands\",\"commands\":[\"/task\",\"/help\"]}' \\\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":["bot"],"properties":{"bot":{"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":"Условие срабатывания исходящего вебхука","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"}}}}}}},"$ref":"#/components/schemas/BotCreateRequest"},"example":{"bot":{"webhook":{"name":"Бот задач","nickname":"tasks_bot","outgoing_url":"https://www.website.com/tasks/new","events":["message_new"],"trigger_on":"commands","commands":["/task"]}}}}}},"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"],"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"}}},"$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"]},"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"],"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)"},"$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"],"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)"},"$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","bot"]},"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- `bot: object` (required) — Собранный объект параметров создаваемого бота\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\n### Пример\n\n```json\n{\n \"bot\": {\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 \"/help\"\n ]\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 \"bot\": {\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 \"/help\"\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) — Идентификатор бота (совпадает с `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 - `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 },\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)\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)\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Метод для получения параметров бота по его `user_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"],"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"}}},"$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"]}}}}}},"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"],"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)"},"$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"],"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)"},"$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"},"paginated":false},"docs":"# Получение бота\n\n**Метод**: `GET`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:read`\n\nМетод для получения параметров бота по его `user_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\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 }\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)\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)\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- `bot: object` (required) — Собранный объект параметров редактируемого бота\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\n## Эквивалентная команда\n\n```bash\npachca bots update 1738816 \\\n --webhook='{\"name\":\"Бот задач\",\"nickname\":\"tasks_bot\",\"outgoing_url\":\"https://www.website.com/tasks/new\",\"events\":[\"message_new\"],\"trigger_on\":\"commands\",\"commands\":[\"/task\",\"/help\"]}' \\\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Для редактирования бота вам необходимо знать его `user_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":["bot"],"properties":{"bot":{"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":"Условие срабатывания исходящего вебхука","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"}}}}}}},"$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"],"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"}}},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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","bot"]},"paginated":false},"docs":"# Редактирование бота\n\n**Метод**: `PUT`\n\n**Путь**: `/bots/{id}`\n\n> **Скоуп:** `bots:write`\n\nМетод для редактирования бота.\n\nДля редактирования бота вам необходимо знать его `user_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- `bot: object` (required) — Собранный объект параметров редактируемого бота\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\n### Пример\n\n```json\n{\n \"bot\": {\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 \"/help\"\n ]\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 \"bot\": {\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 \"/help\"\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) — Идентификатор бота (совпадает с `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\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 }\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)\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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\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 common request-export","docLink":"https://dev.pachca.com/api/common/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` — Пропуск формирования файла со списком чатов (chats.json)\n\n## Эквивалентная команда\n\n```bash\npachca common 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 --no-skip-chats-file \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/common/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)","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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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` — Пропуск формирования файла со списком чатов (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 \"skip_chats_file\": false\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 \"skip_chats_file\": false\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)\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)\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)\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 common get-exports","docLink":"https://dev.pachca.com/api/common/get-exports","describe":"# GET /chats/exports/{id} — Скачать архив экспорта\n\n> **Скоуп:** `chat_exports:read`\n\n> **Тариф:** Корпорация\n\n## Параметры\n\n- `id` — путь (обязательный): Идентификатор экспорта\n\n## Эквивалентная команда\n\n```bash\npachca common get-exports 22322 \\\n --json \\\n --token YOUR_ACCESS_TOKEN\n```\n\nДокументация: https://dev.pachca.com/api/common/get-exports\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"],"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)"},"$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"],"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)"},"$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)\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"],"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)"},"$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"],"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)"},"$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)\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)\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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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"],"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)"},"$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)\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)\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)\n - `payload: Record