Documentation API (mydomain.lu)

Présentation de l’API

L’API mydomain.lu DNS Management permet de gérer automatiquement les zones DNS. Elle offre des fonctionnalités pour récupérer des informations de zone, exporter des
fichiers DNS et ajouter, modifier ou supprimer des enregistrements DNS. Chaque modification retourne un ticket indiquant que l’opération est traitée de façon asynchrone.
Une commande est traitée de manière séquentielle. Vous devez attendre que la commande en cours soit terminée avant d’en soumettre une autre. Si vous n’attendez pas, la commande échouera. Veuillez patienter quelques secondes le temps que la commande soit finalisée et propagée.


Conditions requises

  • Être un client actif de mydomain.lu
  • Disposer d’un compte valide capable de se connecter (test recommandé via l’interface web)
  • L’authentification à deux facteurs est désactivée. Si vous souhaitez la conserver, veuillez contacter le support (post.lu) pour obtenir un compte limité à l’utilisation de l’API.
  • Avoir les permissions API nécessaires

Authentification

Toutes les requêtes API nécessitent un en-tête Basic Auth :

Authorization: Basic {IdentifiantsBase64}

Table des matières





======================================
GET – INFORMATIONS SUR LA ZONE
======================================

1. Obtenir les informations d’une zone

GET :
https://api.mydomain.lu/zones/{domain}
Exemple : https://api.mydomain.lu/zones/example.lu

Paramètres

  • Authorization (header)
  • domain (path)

Réponse 200 OK

{
  "expire": "2026-03-23T14:57:43.279Z",
  "creation": "2026-03-23T14:57:43.279Z",
  "lastChange": "2026-03-23T14:57:43.279Z",
  "domain": "example.lu",
  "contactArray": [...],
  "nameserverArray": [...],
  "resourceRecords": [...],
  "domainStatus": [...]
}

 

2. Obtenir les enregistrements DNS de la zone

GET :
https://api.mydomain.lu/zones/{domain}/records
Exemple : https://api.mydomain.lu/zones/example.lu/records

Réponse 200 OK

[
  {
    "group": "default",
    "AResourceRecord": [...],
    "CNAMEResourceRecord": [...],
    "TXTResourceRecord": [
      { "name": "example.lu.", "ttl": 0, "active": true, "text": "OtSANXuE" },
      { "name": "example.lu.", "ttl": 0, "active": true, "text": "40plQl4A" },
      { "name": "example.lu.", "ttl": 0, "active": true, "text": "hello 123" },
      { "name": "example.lu.", "ttl": 0, "active": true, "text": "v=spf1 include:spf-strict.hostpack.lu -all" }
    ]
  }
]

 

3. Exporter la zone DNS

GET :
https://api.mydomain.lu/zones/{domain}/export
Exemple : https://api.mydomain.lu/zones/example.lu/export

Réponse 200 OK

example.lu. 172800 IN NS ns1.pt.lu.
example.lu. 172800 IN NS ns3.pt.lu.
example.lu. 172800 IN NS ns2.pt.lu.
example.lu. 3600   IN MX 10 mx.hostpack.lu.
smtp.example.lu. 3600 IN CNAME outgoing.hostpack.lu.
api.example.lu.  300  IN CNAME backend.example.lu.
www.example.lu.  3600 IN A 194.154.192.87
example.lu.      300  IN A 194.154.192.87
example.lu.      300  IN A 127.127.127.127




======================================
PATCH – MODIFIER LES ENREGISTREMENTS
======================================

4. Ajouter un enregistrement A

PATCH :
https://api.mydomain.lu/zones/{domain}/records/add/ARecord
Exemple : https://api.mydomain.lu/zones/example.lu/records/add/ARecord

Corps de la requête

{
  "name": "example.lu.",
  "ttl": "300",
  "active": "true",
  "hostAddress": "127.127.127.127"
}

Réponse 200 OK

{
  "code": 1001,
  "message": "Domain Zone Modify - Command completed successfully. Action pending.",
  "ticket": "2603261350443199",
  "infoMsg": [],
  "errorMsg": []
}

 

5. Supprimer un enregistrement A

PATCH :
https://api.mydomain.lu/zones/{domain}/records/remove/ARecord
Exemple : https://api.mydomain.lu/zones/example.lu/records/remove/ARecord

Corps de la requête

{
  "name": "example.lu.",
  "ttl": "300",
  "active": "true",
  "hostAddress": "127.127.127.127"
}

Réponse 200 OK

{
  "code": 1001,
  "message": "Domain Zone Modify - Command completed successfully. Action pending.",
  "ticket": "2603261353158199",
  "infoMsg": [],
  "errorMsg": []
}

 

6. Ajouter un enregistrement TXT

PATCH :
https://api.mydomain.lu/zones/{domain}/records/add/TXTRecord
Exemple : https://api.mydomain.lu/zones/example.lu/records/add/TXTRecord

Corps de la requête

{
  "name": "example.lu.",
  "ttl": "300",
  "active": "true",
  "text": "66iCWhUr"
}

Réponse 200 OK

{
  "code": 1001,
  "message": "Domain Zone Modify - Command completed successfully. Action pending.",
  "ticket": "2603261345481210",
  "infoMsg": [],
  "errorMsg": []
}

 

7. Supprimer un enregistrement TXT

PATCH :
https://api.mydomain.lu/zones/{domain}/records/remove/TXTRecord
Exemple : https://api.mydomain.lu/zones/example.lu/records/remove/TXTRecord

Corps de la requête

{
  "name": "example.lu.",
  "ttl": "300",
  "active": "true",
  "text": "66iCWhUr"
}

Réponse 200 OK

{
  "code": 1001,
  "message": "Domain Zone Modify - Command completed successfully. Action pending.",
  "ticket": "2603261355413680",
  "infoMsg": [],
  "errorMsg": []
}

 

8. Ajouter un enregistrement CNAME

PATCH :
https://api.mydomain.lu/zones/{domain}/records/add/CNAMERecord
Exemple : https://api.mydomain.lu/zones/example.lu/records/add/CNAMERecord

Corps de la requête

{
  "name": "api.example.lu.",
  "ttl": "300",
  "active": "true",
  "hostname": "example.lu.copr.lu."
}

Réponse 200 OK

{
  "code": 1001,
  "message": "Domain Zone Modify - Command completed successfully. Action pending.",
  "ticket": "2603261400502312",
  "infoMsg": [],
  "errorMsg": []
}


 

8. Supprimer un enregistrement CNAME

PATCH :
https://api.mydomain.lu/zones/{domain}/records/remove/CNAMERecord
Exemple : https://api.mydomain.lu/zones/example.lu/records/remove/CNAMERecord

Corps de la requête

{
  "name": "api.example.lu.",
  "ttl": "300",
  "active": "true",
  "hostname": "example.lu.copr.lu."
}

Réponse 200 OK

{
  "code": 1001,
  "message": "Domain Zone Modify - Command completed successfully. Action pending.",
  "ticket": "2603261400502312",
  "infoMsg": [],
  "errorMsg": []
}