Référence des endpoints
Chaque route, ce qu'elle attend et ce qu'elle renvoie.
Tous les chemins ci-dessous sont relatifs à https://api.ecloudserv.fr/api/v1 et demandent l'en-tête Authorization: Bearer …. Voir la vue d'ensemble pour les codes d'erreur.
À noter
Cette page couvre les routes stables. Le panel expose davantage d'actions ; celles qui ne sont pas listées ici peuvent encore changer de forme, mieux vaut ne pas bâtir dessus tout de suite.
Compte#
GET
/meportée readRenvoie le compte associé à la clé. C'est la requête à utiliser pour vérifier qu'une clé est valide.
requête
curl https://api.ecloudserv.fr/api/v1/me \
-H "Authorization: Bearer $ECLOUD_API_KEY"réponse
{
"id": "usr_1a2b3c",
"username": "lucas",
"email": "[email protected]"
}Services#
GET
/serversportée readListe les services du compte.
réponse
[
{
"id": "srv_9f8e7d",
"name": "mon-bot",
"status": "RUNNING",
"runtime": "nodejs"
}
]GET
/servers/:idportée readDétail d'un service : configuration, offre, état courant.
GET
/servers/:id/resourcesportée readConsommation instantanée : processeur, mémoire, disque, réseau.
réponse
{
"cpu_percent": 3.4,
"memory_bytes": 148897792,
"disk_bytes": 512000000,
"network": { "rx_bytes": 91234, "tx_bytes": 44120 },
"uptime_ms": 864000
}POST
/serversportée writeCrée un service. Le corps décrit le nom, l'environnement et les ressources voulues.
requête
curl -X POST https://api.ecloudserv.fr/api/v1/servers \
-H "Authorization: Bearer $ECLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "mon-service",
"runtime": "nodejs",
"ram": 512,
"disk": 2048,
"cpu": 100
}'La réponse est un 201 avec le service créé. Sa création n'est pas instantanée : interrogez /servers/:id jusqu'à ce que son état passe d'installation à démarré.
POST
/servers/:id/powerportée writeChange l'état d'un service : démarrage, arrêt, redémarrage.
requête
curl -X POST https://api.ecloudserv.fr/api/v1/servers/srv_9f8e7d/power \
-H "Authorization: Bearer $ECLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "signal": "restart" }'| Signal | Effet |
|---|---|
start | Démarre un service arrêté. |
stop | Demande un arrêt propre au programme. |
restart | Arrêt puis démarrage. |
kill | Arrêt brutal, sans laisser le programme se fermer. |
Attention
kill coupe le processus net. Si votre programme écrivait un fichier ou une base à cet instant, les données peuvent être laissées à moitié écrites. Réservez-le aux cas où stop ne répond plus.Attendre qu'un service soit prêt
Une action d'alimentation renvoie immédiatement, avant que l'état ait changé. Le bon réflexe est d'interroger l'état, avec un délai qui s'allonge :
attente d'un état
async function attendreEtat(id, attendu, timeoutMs = 120000) {
const base = "https://api.ecloudserv.fr/api/v1";
const debut = Date.now();
let delai = 1000;
while (Date.now() - debut < timeoutMs) {
const res = await fetch(`${base}/servers/${id}`, {
headers: { Authorization: `Bearer ${process.env.ECLOUD_API_KEY}` },
});
if (res.ok && (await res.json()).status === attendu) return true;
await new Promise((r) => setTimeout(r, delai));
delai = Math.min(delai * 1.5, 10000); // on ralentit au lieu de marteler
}
throw new Error(`${id} n'a pas atteint l'état ${attendu} à temps`);
}