Démarrage rapide avec curl
Ce guide vous accompagne dans l'authentification à l'API VaultPAM et dans la réalisation de votre première requête à l'aide de curl.
Prérequis :
curlinstallé (version 7.58 ou ultérieure)jqinstallé (pour analyser les réponses JSON — facultatif mais recommandé)- Un compte VaultPAM avec l'accès à l'API activé
Étape 1 — Définissez votre URL de base
export VAULTPAM_BASE_URL="https://api.vaultpam.com"
Remplacez la valeur par l'URL réelle de votre control-plane VaultPAM si vous utilisez un déploiement auto-hébergé.
Étape 2 — Authentifiez-vous
# Read credentials securely — never commit tokens to source control (see auth-flow.md#token-storage)
read -p "Email: " VAULTPAM_EMAIL
read -s -p "Password: " VAULTPAM_PASSWORD
echo
RESPONSE=$(curl --silent --fail-with-body \
--url "${VAULTPAM_BASE_URL}/api/v1/auth/login" \
--header "Content-Type: application/json" \
--data "{\"email\": \"${VAULTPAM_EMAIL}\", \"password\": \"${VAULTPAM_PASSWORD}\"}")
# Extract the access token
VAULTPAM_TOKEN=$(echo "${RESPONSE}" | jq -r '.access_token')
echo "Authenticated. Token expires in $(echo "${RESPONSE}" | jq '.expires_in') seconds."
Stockez VAULTPAM_TOKEN dans une variable d'environnement ou un gestionnaire de secrets — ne le codez jamais en dur dans des scripts. Consultez Stockage des jetons.
Étape 3 — Récupérez votre organisation active
ORG_RESPONSE=$(curl --silent --fail-with-body \
--url "${VAULTPAM_BASE_URL}/api/v1/org/memberships" \
--header "Authorization: Bearer ${VAULTPAM_TOKEN}")
VAULTPAM_ORG_ID=$(echo "${ORG_RESPONSE}" | jq -r '.active_org_id')
echo "Active org: ${VAULTPAM_ORG_ID}"
Étape 4 — Listez vos coffres-forts
curl --silent --fail-with-body \
--url "${VAULTPAM_BASE_URL}/api/v1/safes" \
--header "Authorization: Bearer ${VAULTPAM_TOKEN}" \
--header "X-Active-Org-Id: ${VAULTPAM_ORG_ID}" \
| jq '.'
Une réponse réussie renvoie un tableau JSON d'objets coffre-fort.
Gestion des erreurs
curl --fail-with-body se termine avec un code non nul en cas de réponses HTTP 4xx/5xx et affiche le corps de la réponse. Encapsulez vos appels dans des vérifications d'erreur :
if ! SAFES=$(curl --silent --fail-with-body \
--url "${VAULTPAM_BASE_URL}/api/v1/safes" \
--header "Authorization: Bearer ${VAULTPAM_TOKEN}" \
--header "X-Active-Org-Id: ${VAULTPAM_ORG_ID}"); then
echo "Request failed: ${SAFES}" >&2
exit 1
fi
echo "${SAFES}" | jq '.'
Codes de statut courants :
| Code | Signification |
|---|---|
401 Unauthorized | Le jeton est manquant, expiré ou invalide. Authentifiez-vous à nouveau. |
403 Forbidden | Le jeton ne dispose pas de la portée requise pour ce point de terminaison. |
429 Too Many Requests | Limite de débit dépassée. Vérifiez l'en-tête retry-after. |
500 Internal Server Error | Erreur serveur transitoire. Réessayez avec un délai progressif. |
Conscience des limites de débit
Vérifiez les en-têtes de la réponse pour surveiller votre budget :
curl --silent --fail-with-body --include \
--url "${VAULTPAM_BASE_URL}/api/v1/safes" \
--header "Authorization: Bearer ${VAULTPAM_TOKEN}" \
--header "X-Active-Org-Id: ${VAULTPAM_ORG_ID}" \
| grep -i "x-ratelimit"
Consultez Limites de débit pour plus de détails sur les stratégies de délai progressif.
Étapes suivantes
- Flux d'authentification — cycle de vie complet des jetons, PAT et stockage sécurisé
- Démarrage rapide avec Python — le même flux avec Python
- Démarrage rapide avec TypeScript — le même flux avec Node.js
- Limites de débit — comprendre les en-têtes
x-ratelimit-*