Aller au contenu
Atlas Hoster
Développeurs

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.

Vos scripts, sur vos services
Vos scriptsJeton à portéesAPI RESTVos servicesMétriquesWebhooks signés

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.

Lister vos services et leur état
curl -H "Authorization: Bearer mmcp_…" \
  "https://portal.atlashoster.com/api/portal/v1/services"
Redémarrer une VM
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"
Réinstaller un VPS avec un script de démarrage
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"
Mettre un serveur sur un réseau privé
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"
Depuis un playbook Ansible
- 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]
Vérifier la signature d'un webhook (Python)
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. 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. 2

    Faites un premier appel

    Passez le jeton dans l'en-tête Authorization: Bearer et lisez vos services.

  3. 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.

Questions fréquentes

Qui peut créer un jeton ?
Un jeton peut-il se connecter à l'espace client ?
Que se passe-t-il si j'appelle une ressource d'une autre société ?
Où trouver la documentation complète ?

Prêt à automatiser ?

Créez votre premier jeton depuis l'espace client.