Documentation API VPS : créer et gérer vos serveurs en REST
Une API REST qui échange du JSON en HTTPS. Avec une seule clé API dans l'en-tête Authorization, vous faites par programme tout ce que permet l'espace client : consulter les offres, créer un serveur, gérer l'alimentation, renouveler et supprimer. Chaque compte peut envoyer jusqu'à 300 requêtes par minute.
Ce que vous pouvez faire avec l'API
L'API est utile lorsque vous gérez de nombreux serveurs ou souhaitez automatiser le déploiement. Chargez les listes de plans, de régions et d'images ; lorsque vous créez un serveur, le paiement est traité et votre serveur est créé après confirmation. Les mêmes règles que sur les pages web s'appliquent, donc les serveurs créés avec l'API apparaissent également dans la liste des serveurs de votre compte.
Si c'est votre première fois, suivez pas à pas le guide de démarrage rapide de l'API, de la création de la clé jusqu'à votre premier serveur. Cette page est la référence qui rassemble tous les endpoints et tous les champs.
Adresse de base
Toutes les requêtes ajoutent leur chemin après l'adresse ci-dessous. Les corps de requête et de réponse sont tous en JSON (UTF-8).
https://helpervps.com/api/v1
Authentification
Envoyez l'en-tête Authorization: Bearer YOUR_API_KEY. Vous pouvez créer une clé depuis le menu des clés API dans votre compte après votre premier paiement ; les clés commencent par hvp_. La clé complète n'est affichée qu'une seule fois, juste après sa création, et la création d'une nouvelle clé désactive immédiatement l'ancienne.
curl https://helpervps.com/api/v1/servers \ -H "Authorization: Bearer YOUR_API_KEY"
Limites de requêtes
| Toutes les requêtes | 300 par minute et par compte |
| Création de serveur (POST /servers) | 10 toutes les 10 minutes par compte |
| Nombre de serveurs par compte | Jusqu'à 10 |
Code serveur
Les serveurs ne sont pas identifiés par un numéro mais par un code serveur du type S-7K2M-9QX4-HB3T. Il suffit de reprendre la valeur id de la liste des serveurs ou de la réponse de création dans le chemin. Les majuscules et minuscules ne sont pas distinguées.
GET /catalog
Renvoie en une fois les offres en vente (plans), les régions (locations), les images (images) et les options (addons). Tous les codes à fournir lors de la création d'un serveur viennent d'ici. monthly est le tarif mensuel en dollars américains, et une option non proposée vaut null. Le monthly_per_gb du disque supplémentaire est affiché avec trois décimales.
Exemple de requête
curl https://helpervps.com/api/v1/catalog \ -H "Authorization: Bearer YOUR_API_KEY"
Exemple de réponse
{
"plans": [
{ "code": "s2", "type": "basic", "vcpu": 1, "ram_mb": 2048, "disk_gb": 50, "transfer_tb": 2, "monthly": "2.48" }
],
"locations": ["frankfurt", "singapore", "seoul"],
"images": ["ubuntu-24-04", "debian-13", "almalinux-10", "app-docker"],
"addons": {
"backups": { "percent_of_plan": 5.6 },
"extra_disk": { "sizes_gb": [50, 100, 250, 500, 1000], "monthly_per_gb": "0.028" },
"ddos_protection": { "monthly": "1.68" }
}
}GET /servers
Renvoie la liste de vos serveurs, du plus récent au plus ancien. Les serveurs supprimés ou dont la création a échoué n'y figurent pas.
Exemple de requête
curl https://helpervps.com/api/v1/servers \ -H "Authorization: Bearer YOUR_API_KEY"
Exemple de réponse
[
{
"id": "S-7K2M-9QX4-HB3T",
"label": "web-1",
"state": "running",
"ipv4": "192.0.2.15",
"ipv6": "2001:db8::15",
"monthly": "2.48",
"backups": false,
"extra_disk_gb": 0,
"ddos_protection": false,
"paid_until": "2026-11-18T09:00:00.000Z"
}
]POST /servers
Crée un serveur et traite le paiement. Utilisez les codes du catalogue pour le plan, l'emplacement et l'image tels quels. label accepte jusqu'à 40 lettres latines, chiffres, points et traits d'union ; les autres caractères sont remplacés par des traits d'union. backups, extra_disk_gb et ddos_protection sont facultatifs. En cas de succès, vous obtenez 201 avec les détails du serveur, et root_password est inclus une seule fois dans cette réponse (vous pouvez également le voir sur la page du serveur dans votre compte pendant 7 jours).
Exemple de requête
curl -X POST https://helpervps.com/api/v1/servers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"plan":"s2","location":"frankfurt","image":"ubuntu-24-04","label":"web-1","backups":true,"extra_disk_gb":0,"ddos_protection":false}'Exemple de réponse
{
"id": "S-7K2M-9QX4-HB3T",
"label": "web-1",
"state": "creating",
"ipv4": null,
"ipv6": null,
"monthly": "2.61",
"backups": true,
"extra_disk_gb": 0,
"ddos_protection": false,
"paid_until": "2026-11-18T09:00:00.000Z",
"root_password": "..."
}GET /servers/{id}
Renvoie l'état, les adresses, le tarif mensuel et la date d'échéance d'un serveur. Un nouveau serveur démarre à creating, passe à running une fois prêt, puis ipv4 et ipv6 sont renseignés. Une vérification toutes les quelques secondes suffit largement.
Exemple de requête
curl https://helpervps.com/api/v1/servers/S-7K2M-9QX4-HB3T \ -H "Authorization: Bearer YOUR_API_KEY"
Exemple de réponse
{
"id": "S-7K2M-9QX4-HB3T",
"label": "web-1",
"state": "running",
"ipv4": "192.0.2.15",
"ipv6": "2001:db8::15",
"monthly": "2.61",
"backups": true,
"extra_disk_gb": 0,
"ddos_protection": false,
"paid_until": "2026-11-18T09:00:00.000Z"
}POST /servers/{id}/start (stop, reboot)
start allume un serveur arrêté (stopped), stop et reboot éteignent ou redémarrent un serveur en marche (running). La réponse contient les informations mises à jour du serveur.
Exemple de requête
curl -X POST https://helpervps.com/api/v1/servers/S-7K2M-9QX4-HB3T/reboot \ -H "Authorization: Bearer YOUR_API_KEY"
Exemple de réponse
{
"id": "S-7K2M-9QX4-HB3T",
"label": "web-1",
"state": "rebooting",
...
}POST /servers/{id}/renew
Payez maintenant pour prolonger la période de validité. Un serveur suspendu après expiration redémarre également avec cette demande.
Exemple de requête
curl -X POST https://helpervps.com/api/v1/servers/S-7K2M-9QX4-HB3T/renew \ -H "Authorization: Bearer YOUR_API_KEY"
Exemple de réponse
{
"id": "S-7K2M-9QX4-HB3T",
"state": "running",
"paid_until": "2026-12-18T09:00:00.000Z",
...
}DELETE /servers/{id}
Supprime le serveur et ses disques. Aucun montant n'est prélevé à partir de la prochaine échéance, et la période restante du mois déjà payé n'est pas remboursée.
Exemple de requête
curl -X DELETE https://helpervps.com/api/v1/servers/S-7K2M-9QX4-HB3T \ -H "Authorization: Bearer YOUR_API_KEY"
Exemple de réponse
{
"id": "S-7K2M-9QX4-HB3T",
"state": "deleted"
}Champs de la réponse serveur
| id | Code serveur (S-XXXX-XXXX-XXXX). Utilisez cette valeur dans tous les chemins. |
| label | Nom du serveur |
| state | L'une des valeurs creating, running, stopped, rebooting, installing, suspended, check |
| ipv4, ipv6 | Adresse du serveur. null tant qu'il n'est pas prêt |
| monthly | Tarif mensuel options comprises (dollars américains, chaîne) |
| backups, extra_disk_gb, ddos_protection | Options choisies |
| paid_until | Heure de fin de validité (UTC, ISO 8601). Le serveur peut être suspendu à ce moment-là. |
| root_password | Présent une seule fois, dans la réponse de création. |
Valeurs d'état
| creating | Le serveur est en cours de création. |
| running | En marche. stop et reboot sont disponibles. |
| stopped | Arrêté. Allumez-le avec start. |
| rebooting | Redémarrage en cours. |
| installing | Réinstallation en cours. |
| suspended | Suspendu après la fin de la période de validité. Réactivez-le avec renew. |
| check | Nous vérifions le résultat de la configuration du serveur. Le serveur sera finalisé ou le paiement sera remboursé. |
Erreurs
En cas d'erreur, vous recevez un code d'état HTTP accompagné d'un JSON de la forme {"error": "code"}. Il suffit de traiter chaque cas selon la valeur du code.
| 401 unauthorized | La clé API est absente ou incorrecte. |
| 403 not_allowed | L'API s'ouvre après votre premier paiement. |
| 400 bad_request | Un champ manque ou sa valeur est incorrecte. Utilisez les codes exactement comme dans le catalogue. |
| 402 not_enough_balance | Complétez le paiement et renvoyez la demande. |
| 409 limit | Vous avez atteint le nombre de serveurs autorisé pour ce compte. |
| 409 not_created | Le serveur n'a pas pu être créé. Le paiement est remboursé. |
| 202 checking | Nous vérifions le résultat de la configuration du serveur. Ne renvoyez pas la même demande ; consultez plutôt votre liste de serveurs. Nous finaliserons le serveur ou rembourserons le paiement. |
| 404 not_found | Ce serveur ou ce chemin n'existe pas dans votre compte. |
| 409 wrong_state | Cette action n'est pas possible dans l'état actuel du serveur. |
| 429 rate_limited | Limite de requêtes atteinte. Patientez un instant avant de réessayer. |
À lire aussi
Les paiements sont effectués via le paiement sécurisé PayGate. Vous pouvez réinstaller et créer un nouveau mot de passe root sur la page du serveur dans votre compte ; les étapes sont dans le guide de réinstallation.
Les possibilités de l'API et des exemples d'automatisation sont sur la page API VPS, et les tarifs mensuels par offre sur la page des tarifs.
