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
- 1. Obtenir les informations d’une zone
- 2. Obtenir les enregistrements de la zone
- 3. Exporter la zone
- 4. PATCH – Ajouter un enregistrement A
- 5. PATCH – Supprimer un enregistrement A
- 6. PATCH – Ajouter un enregistrement TXT
- 7. PATCH – Supprimer un enregistrement TXT
- 8. PATCH – Ajouter un enregistrement CNAME
- 9. PATCH – Supprimer un enregistrement CNAME
======================================
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": []
}