Флаги и скрипты
Глобальные флаги
Доступны для всех команд. Таблица генерируется из исходного определения флагов в CLI — всегда актуальна:
| Флаг | Короткий | Описание |
|---|---|---|
--output <value> | -o | Формат вывода: table, json, yaml, csv |
--columns <value> | -c | Колонки для table-вывода (через запятую) |
--no-header | Скрыть заголовок таблицы | |
--no-truncate | Не обрезать длинные значения | |
--profile <value> | -p | Профиль для этой команды |
--token <value> | Токен для этого вызова (без сохранения) | |
--quiet | -q | Подавить вывод (только exit code и ошибки) |
--no-color | Отключить цвета | |
--verbose | -v | Показывать HTTP-запросы и ответы |
--no-input | Отключить интерактивные промпты | |
--dry-run | Показать запрос без отправки | |
--timeout <value> | Таймаут запроса в секундах (по умолчанию 30) | |
--no-retry | Отключить авто-retry при 429/503 | |
--plain | Плоский вывод: TSV без заголовка, ID первым, без цвета (для скриптов) |
Флаг --force (пропуск подтверждения DELETE) задаётся не глобально, а у деструктивных команд — см. Деструктивные операции.
Сортировка
Команды списков поддерживают сортировку через --sort и --order:
Доступные поля сортировки зависят от команды — подсказки встроены в --help. Если --order не указан, используется desc.
Имена флагов
Флаги CLI используют kebab-case (через дефис), а не snake_case как в API-документации — это стандартная конвенция для CLI-инструментов:
При отправке запроса CLI автоматически конвертирует имена обратно в snake_case для API. Проверить можно через --dry-run:
Boolean-флаги
Для boolean-параметров API используйте флаг для установки true и --no- префикс для false:
Предпросмотр запроса
Флаг --dry-run показывает HTTP-запрос без отправки — для отладки и проверки параметров:
Деструктивные операции
DELETE-команды требуют подтверждения в терминале. Флаг --force пропускает его:
Exit codes
| Код | Значение |
|---|---|
0 | Успех |
1 | API или runtime ошибка |
2 | Неверные флаги или аргументы |
3 | Ошибка аутентификации (401 / 403) |
4 | Ресурс не найден (404) |
Ошибки
При -o json (или в пайпе) ошибки выводятся в stderr как JSON. Формат единый для всех типов ошибок:
| Поле | Тип | Описание |
|---|---|---|
error | string | Сообщение об ошибке |
code | number | null | HTTP-код ответа (null для клиентских ошибок) |
type | string | Тип ошибки (см. таблицу ниже) |
request_id | string? | ID запроса к API (для обращения в поддержку) |
hint | string? | Подсказка, как исправить ошибку |
field | string? | Поле, вызвавшее ошибку |
errors | array? | Список ошибок при множественной валидации |
| Тип | Описание |
|---|---|
PACHCA_API_ERROR | Ошибка API (5xx, неожиданные ответы) |
PACHCA_AUTH_ERROR | Ошибка аутентификации (401 / 403) |
PACHCA_VALIDATION_ERROR | Ошибка валидации (422) |
PACHCA_SCOPE_ERROR | Токен не имеет нужного скоупа |
PACHCA_NETWORK_ERROR | Сеть недоступна |
PACHCA_TIMEOUT_ERROR | Таймаут запроса |
PACHCA_USAGE_ERROR | Неверные флаги или аргументы |
Переменные окружения
| Переменная | Описание |
|---|---|
PACHCA_TOKEN | Bearer-токен (высший приоритет, удобно для CI) |
PACHCA_PROFILE | Активный профиль для команды |
PACHCA_HOME | Переопределить каталог конфига (по умолчанию ~/.config/pachca). Удобно для изоляции в CI/тестах/агентах |
PACHCA_TIMEOUT | Таймаут запроса в секундах (по умолчанию 30) |
PACHCA_PROMPT_DISABLED | Отключить интерактивные промпты (для агентов) |
CI | Автоматический неинтерактивный режим |
NO_COLOR | Отключить цвет |
FORCE_COLOR | Принудительно включить цвет |
PACHCA_SKIP_NEW_VERSION_CHECK | Отключить проверку обновлений |
Неинтерактивный режим
CLI автоматически переходит в неинтерактивный режим при любом из условий: stdin или stdout — не TTY, установлена PACHCA_PROMPT_DISABLED или CI, передан флаг --no-input. В этом режиме нет промптов, спиннера, а при пропущенных обязательных флагах — ошибка вместо запроса.