API-Modus (api)
Übersicht
Der api-Modus ermöglicht die Ausführung direkter Aufrufe an die Passwork API mit Antworten im JSON-Format.
Syntax
- shell
passwork-cli api [options]
API-Parameter
Der api-Befehl erfordert die folgenden Parameter:
| Parameter | Beschreibung |
|---|---|
--method | HTTP-Methode (GET, POST, PUT, DELETE, PATCH) |
--endpoint | API-Pfad (z. B. v1/vaults) |
--params | JSON-String mit Parametern (optional) |
--field | Feldname zum Extrahieren aus der Antwort (optional) |
Funktionsweise
- Authentifizierung: Verbindet sich mit dem Passwork-Server;
- Anfrageerstellung: Erstellt eine HTTP-Anfrage mit dem angegebenen Pfad und der Methode;
- Anfrage senden: Sendet die Anfrage mit den notwendigen Autorisierungs-Headern;
- Antwortverarbeitung: Empfängt und analysiert die API-Antwort;
- Filterung (optional): Extrahiert das angegebene Feld mit
--field; - Ausgabe: Das Ergebnis wird im JSON-Format ausgegeben.
Verwendungsbeispiele
Liste aller Tresore abrufen:
- shell
passwork-cli api --method GET --endpoint "v1/vaults"
Einen Eintrag abrufen und nur den Namen extrahieren:
- shell
passwork-cli api --method GET --endpoint "v1/items/password_id" --field "name"
Einträge nach Tags suchen und Namen aus den Einträgen abrufen:
- shell
passwork-cli api \
--method GET \
--endpoint "v1/items/search" \
--params '{"tags":["api","production"]}' \
--field "name"
Rotation von accessToken und refreshToken:
- shell
passwork-cli api \
--host "https://passwork.example.com" \
--token "your_expired_token" \
--refresh-token "your_refresh_token" \
--method POST \
--endpoint "v1/sessions/refresh" \
--field "token"
Verwendung mit einem selbstsignierten Zertifikat:
- shell
passwork-cli api --no-ssl-verify --method GET --endpoint "v1/user/profile"
Hinweise
- Alle Antworten werden im JSON-Format zurückgegeben;
- Der Parameter
--fieldermöglicht das Extrahieren eines bestimmten Feldes aus der Antwort; - Der Parameter
--paramswird zur Übergabe von Daten in POST-, PUT- und PATCH-Anfragen verwendet; - Für selbstsignierte Zertifikate müssen Sie
--no-ssl-verifyverwenden.