Référence de l'API
Introduction à l'API
URL de base, authentification par clé, portée des clés et limites de débit.
L'API de SmartFlow Host reprend le sous-ensemble de l'API Vercel qu'utilise la CLI pour relier un dossier, construire et déployer. Elle accepte du JSON, renvoie du JSON et s'authentifie par une clé d'API.
URL de base
https://api.host.hgdc.chToutes les requêtes passent en HTTPS.
Authentification
Envoyez votre clé dans l'en-tête Authorization. Les clés commencent par ah_ et se créent dans l'onglet Clés d'API de l'équipe (voir Créer une clé d'API).
Authorization: Bearer ah_…curl https://api.host.hgdc.ch/v2/user \
-H "Authorization: Bearer $SMARTFLOW_HOST_TOKEN"Il existe deux sortes de clés :
| Clé | Portée | Variables sensibles |
|---|---|---|
| Clé d'équipe, créée par un propriétaire | Tous les projets de l'équipe, création de projets comprise | Jamais livrées |
| Clé de projet, posée par l'app GitHub dans le dépôt | Ce seul projet : tout autre projet répond 404 | Livrées au build |
L'équipe vient de la clé
Chaque clé appartient à une équipe, et chaque requête s'exécute dans cette équipe. Un paramètre teamId ou slug dans l'URL, que la CLI ajoute parfois, est ignoré.
Versions dans le chemin
Les chemins gardent les numéros de version de l'API Vercel (/v2, /v9, /v13…) pour que la CLI fonctionne sans modification. Plusieurs versions d'un même endpoint renvoient la même réponse. Les routes propres à SmartFlow Host vivent sous /smartflow/v1.
Limites de débit
Chaque clé dispose de 600 requêtes par minute, avec des rafales de 120. L'envoi de fichiers a son propre budget : 6000 par minute, avec des rafales de 3000. Au-delà, l'API répond 429 rate_limited : attendez un instant et réessayez.
{
"error": {
"code": "rate_limited",
"message": "Trop de requêtes, réessayez dans un instant."
}
}La création de déploiements est aussi limitée par équipe. Voir Limites.
Pagination
Les listes ne sont pas paginées. Elles renvoient un objet pagination pour la compatibilité, avec next toujours à null.
Endpoints
| Méthode | Chemin | Rôle |
|---|---|---|
| GET | /v2/user | Propriétaire de la clé |
| GET | /v2/teams | Équipe de la clé |
| GET | /v9/projects | Lister les projets |
| GET | /v9/projects/:idOrName | Lire un projet |
| POST | /v11/projects | Créer un projet |
| POST | /v2/files | Envoyer un fichier |
| POST | /v13/deployments | Créer un déploiement |
| GET | /v13/deployments/:id | Lire un déploiement |
| GET | /v3/deployments/:id/events | Suivre les logs |
| GET | /v3/env/pull/:project/:target | Lire les variables |
| POST | /smartflow/v1/builds | Builds de la CI |