L’API, pour automatiser votre compte
Ce que vous y gagnez : lire et modifier des éléments de votre compte depuis vos propres programmes : télécharger vos factures dans votre comptabilité, ouvrir des tickets depuis votre système d’incidents, consulter le statut de vos services.
Deux façons de se connecter, qui ne servent pas à la même chose
Avec quoi |
Pour quelle partie |
Durée de validité |
|---|---|---|
Clé d’API |
Vos sites : sites web, domaines, DNS, e-mail, bases de données, FTP et certificats. |
Elle n’expire pas tant que vous ne la révoquez pas. |
Utilisateur et mot de passe (jeton JWT) |
Factures, tickets, alertes et votre profil. |
60 minutes, et il faut le renouveler. |
Si ce que vous voulez, c’est automatiser vos sites — une sauvegarde nocturne, une étape de votre pipeline, un script qui crée le site de chaque nouveau client —, ce qu’il vous faut, c’est la clé d’API. C’est ce qui commence ci-dessous.
Important
Pour la partie sites, le jeton JWT ne fonctionne pas. Ce n’est pas qu’il soit déconseillé : il renvoie une erreur de permissions. Utilisez la clé.
Créer votre clé
Dans le panneau, dans . La clé n’est affichée qu’une seule fois : copiez-la à ce moment-là et rangez-la là où vous rangez vos mots de passe. Si vous la perdez, elle ne se récupère pas — on la révoque et on en crée une autre.
nxp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Ce que votre clé peut faire
Une clé tout juste créée ne fait que lire. Les permissions sont séparées parce que les risques ne sont pas les mêmes :
Permission |
Ce qu’elle ouvre |
Comment l’obtenir |
|---|---|---|
|
Consulter ( |
À la création de la clé |
|
Créer et modifier ( |
Demandez-le dans un ticket |
|
Supprimer ( |
Demandez-le dans un ticket |
Supprimer n’est pas inclus dans écrire, et c’est voulu : créer un site en trop se corrige en le supprimant ; supprimer celui qu’il ne fallait pas, non.
S’il manque la permission à votre clé, la réponse vous dit laquelle manque. Vous n’avez pas à le deviner en tâtonnant.
L’utiliser
Un en-tête, dans chaque requête :
Authorization: Bearer nxp_tu_clave
Ou X-API-Key: nxp_tu_clave si votre outil ne vous laisse pas toucher à Authorization.
Un exemple complet, lister vos sites :
curl -H "Authorization: Bearer $HOSTBRID_TOKEN" \
https://my.hostbrid.com/api/sites/v1/sites/
Et en créer un :
curl -X POST \
-H "Authorization: Bearer $HOSTBRID_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "ejemplo.com", "php_version": "8.3"}' \
https://my.hostbrid.com/api/sites/v1/sites/
Tip
Si vous préférez ne pas écrire de curl, il existe un outil en ligne de commande qui fait la même chose en une seule ligne.
La liste complète des opérations
Elle est sur https://my.hostbrid.com/api/docs/, et se consulte sans compte. Chaque opération indique la permission dont elle a besoin.
Vous ne voyez que ce qui est à vous
Tout est limité à votre compte. Demander par identifiant quelque chose qui appartient à un autre client renvoie 404, pas 403 : un 403 confirmerait que cet identifiant existe.
Limites
Chaque clé a sa propre limite de requêtes par minute. Si vous la dépassez, la réponse est un 429 : attendez et réessayez. Le compteur de l’API est indépendant de celui de la boutique, donc automatiser des sauvegardes ne vous prive pas du moteur de recherche de domaines sur le site.
Si vous pensez que la clé a fuité
Révoquez-la dans le panneau, sur le même écran où vous l’avez créée. Elle cesse d’être valable à l’instant. Créez-en ensuite une autre : il n’y a pas moyen de « changer le mot de passe » d’une clé, et c’est voulu.
Factures, tickets et profil : ça reste avec utilisateur et mot de passe
Cette partie n’accepte pas encore la clé. On demande un jeton :
POST /api/v1/auth/token/
{ "username": "tu-usuario", "password": "tu-contraseña" }
et elle répond access (60 minutes, celui qui s’utilise dans chaque requête) et refresh (7 jours, celui qui sert à en demander un autre, sur /api/v1/auth/token/refresh/).
Si vous avez la vérification en deux étapes activée, il faut envoyer en plus le code à six chiffres dans le champ otp, et uniquement au moment de demander le jeton, pas à chaque requête.
Important
Le jeton de renouvellement change à chaque fois que vous l’utilisez : la réponse en apporte un nouveau et le précédent cesse d’être valable. Gardez toujours le dernier.
C’est pourquoi cette partie ne convient pas aux processus sans surveillance : le renouvellement exige votre mot de passe et, avec la vérification en deux étapes, un code qu’un programme ne peut pas taper. Nous travaillons à ce que la clé serve ici aussi. Si c’est ce dont vous avez besoin, dites-le-nous dans un ticket : ça aide à le prioriser.
Ce qu’il y a dans la partie utilisateur et mot de passe
Filtré sur votre compte, comme tout le reste : vous ne voyez que ce qui est à vous.
Pour quoi faire |
Où |
|---|---|
Résumé de votre compte — les compteurs de tous les modules d’un coup |
|
Factures — les lister et les lire, avec numéro, HT, taxes, total et lignes de détail |
|
Abonnements — quelles offres vous avez et jusqu’à quand |
|
Paiements — l’historique |
|
Données de facturation — vos données fiscales |
|
Consommation — les relevés d’utilisation qui sont facturés |
|
Tickets — les ouvrir, les lire et répondre |
|
Alertes — les notifications du panneau |
|
Vos clés SSH |
|
Votre profil |
|
Les factures sont en lecture seule à dessein : c’est le système qui les émet, et une facture émise ne se supprime ni ne s’invente depuis l’extérieur.
Exemple avec le jeton : télécharger vos factures
En trois étapes :
1. POST /api/v1/auth/token/
{ "username": "…", "password": "…" }
→ guarda "access" y "refresh"
2. GET /billing/api/invoices/
Authorization: Bearer <access>
→ la primera página de facturas
3. GET /billing/api/invoices/?page=2
Authorization: Bearer <access>
→ las siguientes
Les listes sont paginées par 20. La réponse contient le lien vers la page suivante ; suivez ce lien jusqu’à ce qu’il n’y en ait plus.
Ce que vous pouvez faire dépend de votre rôle
Au sein d’une organisation il y a trois rôles, et l’API les respecte tout comme le panneau :
Administrateur et membre — peuvent lire et modifier.
Lecture seule — peuvent lire, et toute tentative de créer ou de supprimer répond que vous n’avez pas les permissions suffisantes.
Si une requête d’écriture vous renvoie une erreur de permissions et que vous pensez que ça ne devrait pas, regardez d’abord quel rôle vous avez dans l’organisation.
Ce qui n’est pas encore prêt
Quoi |
Statut |
|---|---|
La clé pour les factures, les tickets et le profil |
Aujourd’hui la clé n’ouvre que la partie sites. L’autre reste avec utilisateur et mot de passe. En cours. |
Déploiement depuis git (Projects) et son CLI |
En développement. L’outil en ligne de commande qui existe déjà (Le terminal : hostbrid) est pour l’hébergement, pas pour ça. |
Alertes automatiques vers vos systèmes (webhooks) |
Pas encore disponibles pour les clients. |
Problèmes fréquents
- Avec la clé, tout me répond que je ne suis pas authentifié
Vérifiez que l’en-tête dit
Bearer, une espace, puis la clé entière commençant parnxp_. Si ça continue, regardez dans le panneau que vous ne l’avez pas révoquée.- Avec la clé, les sites me donnent une erreur de permissions, et le reste aussi
Vous utilisez la clé contre les factures ou les tickets : là, elle ne vaut pas encore. Cette partie fonctionne avec utilisateur et mot de passe.
- Avec le jeton, tout me répond que je ne suis pas authentifié
C’est presque toujours que les 60 minutes sont passées. Renouvelez le jeton. Et si vous l’utilisez contre
/api/sites/v1/, là ça ne fonctionne pas : utilisez la clé.- Le rafraîchissement me dit que le jeton n’est pas valable
Vous en réutilisez un déjà consommé. Chaque renouvellement en renvoie un nouveau : gardez toujours le dernier. Si vous l’avez perdu, redemandez la paire avec utilisateur et mot de passe.
- Je demande le jeton et il me le refuse alors que le mot de passe est bon
Vous avez la vérification en deux étapes activée et il manque le champ
otp.- Il me répond que je n’ai pas les permissions
Soit votre rôle est en lecture seule, soit vous demandez quelque chose d’une autre organisation.
S’il vous manque quelque chose, dites-le
Cette partie est en train de grandir. Si vous avez besoin d’une donnée ou d’une opération qui n’est pas dans le tableau, ouvrez-nous un ticket en racontant ce que vous voulez automatiser. C’est la meilleure façon pour qu’elle apparaisse ici.