Référence de l'API

Authentification

Comment créer et utiliser des clés API pour vous authentifier avec l'API FloopFloop.

Dernière mise à jour :

Authentification par clé API

Toutes les requêtes API doivent inclure votre clé API dans l'en-tête Authorizationen utilisant le schéma de jeton Bearer :

Authorization: Bearer flp_your_api_key_here

Création de clés API

Accédez à Compte → Clés API dans votre tableau de bord FloopFloop pour créer et gérer vos clés API.

  • Chaque compte peut avoir jusqu'à 5 clés API actives
  • Les clés ne sont affichées qu'une seule fois lors de leur création — conservez-les en lieu sûr
  • Les clés peuvent être révoquées à tout moment depuis le tableau de bord
  • Toutes les clés commencent par le préfixe flp_

Sécurité des clés

  • Ne partagez jamais vos clés API et ne les commitez pas dans un système de contrôle de version
  • Utilisez des variables d'environnement pour stocker les clés dans vos applications
  • Faites tourner les clés régulièrement et révoquez les clés inutilisées
  • Chaque clé possède son propre compartiment de limite de débit

Limites de débit

Les endpoints de l'API appliquent les limites de débit suivantes par clé API :

OperationLimitWindow
Opérations de lecture (GET)120 requêtes1 minute
Opérations d'écriture (POST/PATCH/DELETE)30 requêtes1 minute
Déploiement / Rollback5 requêtes1 heure
Création de projet / Clone10 requêtes1 heure

Les informations sur les limites de débit sont incluses dans les en-têtes de réponse :X-RateLimit-Remaining et X-RateLimit-Reset.

Vérifier l'authentification

GET /api/v1/user/me

Utilisez cet endpoint pour confirmer que votre clé API est valide. Il retourne le profil de l'utilisateur authentifié et constitue l'appel standard “tester son authentification” utilisé par tous les SDK officiels et par floop whoami dans le CLI.

curl https://floopfloop.com/api/v1/user/me \
  -H "Authorization: Bearer flp_your_api_key_here"

Réponse (200) :

{
  "data": {
    "id": "user_abc123",
    "email": "you@example.com",
    "name": "Your Name",
    "role": "user",
    "source": "api_key"
  }
}
  • role"user" pour les comptes normaux, "admin" pour le personnel de la plateforme.
  • source — indique comment la requête a été authentifiée. "api_key" pour les identifiants programmatiques, "cli_token" pour le flux CLI autorisé par appareil.

Un 401 UNAUTHORIZED signifie que la clé est absente, révoquée ou malformée. Un 403 FORBIDDENindique que le compte existe mais qu'il ne dispose pas du plan Business requis pour accéder à l'API (voir Prérequisdans la vue d'ensemble de l'API).

Gestion programmatique des clés API

La plupart des utilisateurs créent leurs clés depuis le tableau de bord, mais la même interface est disponible via l'API pour les scénarios d'orchestration — rotation d'une clé depuis un job CI, listage des clés pour auditer l'usage, ou révocation d'une clé compromise sans passer par l'interface graphique. Cela reflète ce que fait floop keys list/create/removedans le CLI.

Lister les clés API

GET /api/v1/api-keys

Retourne les métadonnées de chaque clé active (non révoquée) du compte. Le matériel de clé en clair n'est jamais retourné — uniquement le keyPrefix (les 8 premiers caractères hexadécimaux de la clé, préfixés par flp_).

{
  "data": {
    "keys": [
      {
        "id": "key_abc",
        "name": "ci-deploy",
        "keyPrefix": "flp_a1b2c3d4",
        "scopes": null,
        "lastUsedAt": "2026-04-24T18:30:00Z",
        "createdAt": "2026-04-01T12:00:00Z"
      }
    ]
  }
}

Créer une clé API

POST /api/v1/api-keys
{
  "name": "ci-deploy"    // required, 1-100 chars
}

Réponse (201) :

{
  "data": {
    "id": "key_xyz",
    "rawKey": "flp_a1b2c3d4…full-40-hex…",
    "keyPrefix": "flp_a1b2c3d4"
  }
}

La rawKey n'est affichée qu'une seule fois— les lectures ultérieures ne retournent que le keyPrefix. Conservez-la immédiatement. Chaque compte est limité à 5 clés actives ; si vous atteignez cette limite, la requête retourne409 LIMIT_EXCEEDED— révoquez d'abord une clé inutilisée.

La création d'une clé nécessite le plan Business. Une requête provenant d'un compte non-Business retourne 403 FORBIDDEN avec le message “Creating API keys requires the Business plan”. Les administrateurs de la plateforme contournent cette restriction.

Révoquer une clé API

DELETE /api/v1/api-keys/{keyId}

Passez l'id de la clé (par ex.key_xyz) comme paramètre de chemin. La clé est invalidée immédiatement — les requêtes déjà en cours sur un worker peuvent se terminer, mais aucune nouvelle requête ne sera authentifiée.

Réponse (200) :

{ "data": { "success": true } }
  • L'auto-révocation est bloquée. Appeler DELETE avec la même clé que celle effectuant la requête retourne400 VALIDATION_ERROR— cela empêche le CLI de se déconnecter en plein appel. Utilisez une clé différente, ou révoquez depuis le tableau de bord.
  • Les clés inconnues ou déjà révoquées retournent404 NOT_FOUND.

Les SDK officiels acceptent un id ou un nom de clé dans leurs helpers apiKeys.remove(), résolvant le nom → id côté client via un appel de liste. L'API elle-même n'accepte que l'id.

Une clé révoquée ne peut pas être restaurée ; créez-en une nouvelle pour la remplacer. La révocation est enregistrée dans le journal d'audit affiché dans Compte → Clés API.