Режим API (api)
Описание
Режим api позволяет выполнять прямые вызовы к API Пассворка с получением ответов в формате JSON.
Синтаксис
- shell
passwork-cli api [опции]
Параметры API
Команде api необходимы следующие параметры:
| Параметр | Описание |
|---|---|
--method | HTTP-метод (GET, POST, PUT, DELETE, PATCH) |
--endpoint | Путь API (например, v1/vaults) |
--params | JSON-строка с параметрами (необязательно) |
--field | Имя поля для извлечения из ответа (необязательно) |
Как это работает
- Аутентификация: Подключение к серверу Пассворка;
- Формирование запроса: Создание HTTP-запроса по указанному пути и методу;
- Отправка запроса: Отправка запроса с нужными заголовками авторизации;
- Обработка ответа: Получение и разбор ответа от API;
- Фильтрация (опционально): Извлечение указанного поля с помощью
--field; - Вывод: Результат выводится в формате JSON.
Примеры использования
Получение списка всех сейфов:
- shell
passwork-cli api --method GET --endpoint "v1/vaults"
Получение элемента и извлечение только имени:
- shell
passwork-cli api --method GET --endpoint "v1/items/password_id" --field "name"
Поиск элементов по тегам и получение имён из элементов:
- shell
passwork-cli api \
--method GET \
--endpoint "v1/items/search" \
--params '{"tags":["api","production"]}' \
--field "name"
Режим api поддерживает все сценарии ротации API-токенов: полную смену пары, обновление только accessToken и обновление только refreshToken.
Подробные условия и примеры запросов в ротации API-токенов.
- shell
# Полная ротация пары accessToken + refreshToken
passwork-cli api \
--method POST \
--endpoint "v1/sessions/refresh" \
--params '{"refreshToken":"<refresh_token>"}'
# Ротация только accessToken
passwork-cli api \
--method POST \
--endpoint "v1/sessions/refresh-access-token" \
--params '{"accessToken":"<access_token>"}'
# Ротация только refreshToken
passwork-cli api \
--method POST \
--endpoint "v1/sessions/refresh-refresh-token" \
--params '{"refreshToken":"<refresh_token>"}'
SSL-проверка с системными сертификатами:
- shell
passwork-cli api --ssl-verify --method GET --endpoint "v1/user/profile"
SSL-проверка с пользовательским CA bundle/директорией:
- shell
passwork-cli api \
--ssl-verify "/etc/ssl/certs" \
--method GET \
--endpoint "v1/user/profile"
Отключение SSL-проверки:
- shell
passwork-cli api --no-ssl-verify --method GET --endpoint "v1/user/profile"
Примечания
- Все ответы возвращаются в формате JSON;
- Параметр
--fieldпозволяет извлечь конкретное поле из ответа; - Параметр
--paramsиспользуется для передачи данных в запросах POST, PUT, PATCH; - Для SSL рекомендуется
--ssl-verify(системные сертификаты или путь к CA bundle/директории); --no-ssl-verifyсчитается устаревшим вариантом;