API DNS

Skip to main content
Du bist hier:
Drucken

API DNS

API DNS

Ce guide vous explique comment utiliser notre API DNS.

 

Etape 1 : Activer l’accès API

Avant de pouvoir utiliser l’API DNS, rendez-vous sur admin.firestorm.ch et connectez-vous avec votre identifiant FireStorm. Activez l’API DNS sous Compte => Profil client => Accès API.

Etape 2 : Copier la clé API

Après l’activation, votre clé API personnelle sera affichée. Copiez cette clé et utilisez-la pour toutes les requêtes API.

Etape 3 : Utiliser l’API

Utilisez la clé API dans le header X-API-Key :

curl -H "X-API-Key: VOTRE_CLE_API" https://api.firestorm.ch/dns/v1/zones

 

Clés API supplémentaires limitées à une zone (sous-comptes)

En plus de votre clé API principale, vous pouvez créer autant de clés API supplémentaires que vous le souhaitez dans l’espace client, chacune valable uniquement pour les domaines que vous sélectionnez. C’est particulièrement utile si vous êtes un prestataire informatique ou une agence gérant les zones DNS de plusieurs clients et que vous souhaitez donner à chaque client l’accès uniquement à son propre domaine, par exemple pour le renouvellement automatique de certificats via DNS-01.

Vous créez et gérez ces clés supplémentaires sous Compte => Modifier les informations du compte via le bouton Gérer les clés API à côté du champ de la clé API. Pour en savoir plus : Clés API limitées.

 

Points de terminaison API

Zones

Méthode Endpoint Description
GET /dns/v1/zones Lister toutes les zones

 

Enregistrements individuels

Méthode Endpoint Description
GET /dns/v1/zone/{id}/records Lister tous les enregistrements d’une zone
POST /dns/v1/zone/{id}/record Ajouter un enregistrement
PUT /dns/v1/zone/{id}/record Modifier un enregistrement
DELETE /dns/v1/zone/{id}/record Supprimer un enregistrement

 

Exemples

Obtenir l’ID de zone

curl -H "X-API-Key: VOTRE_CLE_API" https://api.firestorm.ch/dns/v1/zones

Réponse :

{
    "status": "OK",
    "zones": [
        {"id": 123, "name": "example.ch"},
        {"id": 456, "name": "example.com"}
    ]
}

Lister les enregistrements

curl -H "X-API-Key: VOTRE_CLE_API" https://api.firestorm.ch/dns/v1/zone/123/records

Ajouter un enregistrement

curl -X POST -H "X-API-Key: VOTRE_CLE_API" -H "Content-Type: application/json" 
  -d '{"name":"test.example.ch.","type":"A","data":"192.168.1.1","ttl":3600}' 
  https://api.firestorm.ch/dns/v1/zone/123/record

Modifier un enregistrement

curl -X PUT -H "X-API-Key: VOTRE_CLE_API" -H "Content-Type: application/json" 
  -d '{"name":"test.example.ch.","type":"A","old_data":"192.168.1.1","data":"192.168.1.2","ttl":3600}' 
  https://api.firestorm.ch/dns/v1/zone/123/record

Supprimer un enregistrement

curl -X DELETE -H "X-API-Key: VOTRE_CLE_API" -H "Content-Type: application/json" 
  -d '{"name":"test.example.ch.","type":"A","data":"192.168.1.2"}' 
  https://api.firestorm.ch/dns/v1/zone/123/record

 

Types d’enregistrement autorisés

A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR

Validation

  • A : Doit être une adresse IPv4 valide
  • AAAA : Doit être une adresse IPv6 valide
  • CNAME : Doit être un FQDN se terminant par un point (p.ex. example.ch.)
  • TXT : Automatiquement entouré de guillemets
  • TTL : Minimum 60, maximum 86400, par défaut 3600

 

ACME DNS-01 Challenge

Propagation automatique : Pour les enregistrements _acme-challenge.*, l’API attend automatiquement que tous les serveurs DNS aient l’enregistrement. La réponse contient les détails de propagation :

{
    "status": "OK",
    "record_id": 12345,
    "propagation": {
        "propagated": true,
        "time": 45,
        "servers": {
            "dns11.firestorm.ch": true,
            "dns12.firestorm-isp.com": true,
            "dns13.firestorm-isp.com": true,
            "dns14.firestorm.ch": true
        }
    }
}

 

Autres exemples

Pour des exemples PowerShell, voir : Exemple PowerShell API DNS

Pour les routeurs MikroTik, voir l’article DynDNS avec un routeur MikroTik, pour Cert Warden l’article Let’s Encrypt avec Cert Warden.

Related Post