Pilotez votre hébergement par le code
Tout ce que vous faites dans l'espace client, vos scripts peuvent le faire : lire l'état de vos services, redémarrer une VM, suivre vos factures, recevoir vos alertes.
Une API REST en JSON
Vos services, leur état, vos factures, vos VM, vos sauvegardes, votre DNS : des appels HTTP simples, des réponses en JSON.
Des jetons à portées
Chaque jeton ne reçoit que les portées que vous cochez (lecture, facturation, VM, DNS, pare-feu…) et ne dépasse jamais les droits de son créateur. Il se révoque d'un clic.
Une description OpenAPI
La liste complète des appels est dans l'espace client, avec la commande curl de chacun et le fichier OpenAPI à importer dans Postman ou un générateur de client.
Des webhooks signés
Vos alertes arrivent sur votre adresse en JSON, avec un en-tête X-Signature (HMAC-SHA256 du corps) pour vérifier qu'elles viennent bien de nous.
Des métriques Prometheus
Un point de collecte au format Prometheus, avec son propre jeton, pour suivre vos services dans votre Grafana.
Des limites claires
120 requêtes par minute et par jeton ; au-delà, l'API répond 429. Les adresses autorisées de votre société s'appliquent aussi aux jetons.
Quelques exemples
L'adresse exacte de l'API est affichée dans votre espace client, page API. Certains appels dépendent de ce qui est ouvert pour votre compte.
curl -H "Authorization: Bearer mmcp_…" \
"https://portal.atlashoster.com/api/portal/v1/services"curl -X POST -H "Authorization: Bearer mmcp_…" \
-H "Content-Type: application/json" -d '{"action":"reboot"}' \
"https://portal.atlashoster.com/api/portal/v1/services/vm:101/power"curl -X POST -H "Authorization: Bearer mmcp_…" \
-H "Content-Type: application/json" \
-d '{"template":9000,"confirm":"vps-101","startupScriptId":"…"}' \
"https://portal.atlashoster.com/api/portal/v1/services/vm:101/vps/reinstall"curl -X POST -H "Authorization: Bearer mmcp_…" \
-H "Content-Type: application/json" -d '{"ref":"vm:101"}' \
"https://portal.atlashoster.com/api/portal/v1/private-networks/<id>/members"- name: Reboot a VM through the client API
ansible.builtin.uri:
url: "https://portal.atlashoster.com/api/portal/v1/services/vm:101/power"
method: POST
headers:
Authorization: "Bearer {{ atlashoster_token }}"
body_format: json
body: { action: reboot }
status_code: [200, 201, 202]import hmac, hashlib
expected = "sha256=" + hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
assert hmac.compare_digest(expected, request.headers["X-Signature"])Commencer
- 1
Créez un jeton
Dans l'espace client, page API : donnez-lui un nom, cochez ses portées, copiez-le. Il n'est affiché qu'une fois.
- 2
Faites un premier appel
Passez le jeton dans l'en-tête Authorization: Bearer et lisez vos services.
- 3
Automatisez
Marquez vos déploiements sur la frise d'un service, redémarrez une VM depuis votre CI, branchez vos alertes sur votre outil d'astreinte.