{"id":3128,"date":"2026-03-23T16:08:08","date_gmt":"2026-03-23T15:08:08","guid":{"rendered":"https:\/\/support.pt.lu\/?page_id=3128"},"modified":"2026-04-29T10:25:10","modified_gmt":"2026-04-29T09:25:10","slug":"api-documentation-mydomain-lu","status":"publish","type":"page","link":"https:\/\/support.pt.lu\/fr\/api-documentation-mydomain-lu\/","title":{"rendered":"Documentation API (mydomain.lu)"},"content":{"rendered":"<h2><b>Pr&#xE9;sentation de l&#x2019;API<\/b><\/h2>\n<p>L&#x2019;API <b>mydomain.lu DNS Management<\/b> permet de g&#xE9;rer automatiquement les zones DNS. Elle offre des fonctionnalit&#xE9;s pour r&#xE9;cup&#xE9;rer des informations de zone, exporter des<br>\nfichiers DNS et ajouter, modifier ou supprimer des enregistrements DNS. Chaque modification retourne un <b>ticket<\/b> indiquant que l&#x2019;op&#xE9;ration est trait&#xE9;e de fa&#xE7;on asynchrone.<br>\nUne commande est trait&#xE9;e de mani&#xE8;re s&#xE9;quentielle. Vous devez attendre que la commande en cours soit termin&#xE9;e avant d&#x2019;en soumettre une autre. Si vous n&#x2019;attendez pas, la commande &#xE9;chouera. Veuillez patienter quelques secondes le temps que la commande soit finalis&#xE9;e et propag&#xE9;e.<\/p>\n<hr>\n<h2><b>Conditions requises<\/b><\/h2>\n<ul>\n<li>&#xCA;tre un <b>client actif<\/b> de mydomain.lu<\/li>\n<li>Disposer d&#x2019;un <b>compte valide<\/b> capable de se connecter (test recommand&#xE9; via l&#x2019;interface web)<\/li>\n<li>L&#x2019;authentification &#xE0; deux facteurs est <b>d&#xE9;sactiv&#xE9;e<\/b>. Si vous souhaitez la conserver, veuillez contacter le support (post.lu) pour obtenir un compte limit&#xE9; &#xE0; l&#x2019;utilisation de l&#x2019;API.<\/li>\n<li>Avoir les <b>permissions API<\/b> n&#xE9;cessaires<\/li>\n<\/ul>\n<hr>\n<h2><b>Authentification<\/b><\/h2>\n<p>Toutes les requ&#xEA;tes API n&#xE9;cessitent un en-t&#xEA;te Basic Auth :<\/p>\n<pre>Authorization: Basic {IdentifiantsBase64}<\/pre>\n<hr>\n<h2><b>Table des mati&#xE8;res<\/b><\/h2>\n<ul>\n<li><a href=\"#get-zone-info\">1. Obtenir les informations d&#x2019;une zone<\/a><\/li>\n<li><a href=\"#get-zone-records\">2. Obtenir les enregistrements de la zone<\/a><\/li>\n<li><a href=\"#export-zone\">3. Exporter la zone<\/a><\/li>\n<li><a href=\"#patch-add-arecord\">4. PATCH &#x2013; Ajouter un enregistrement A<\/a><\/li>\n<li><a href=\"#patch-remove-arecord\">5. PATCH &#x2013; Supprimer un enregistrement A<\/a><\/li>\n<li><a href=\"#patch-add-txtrecord\">6. PATCH &#x2013; Ajouter un enregistrement TXT<\/a><\/li>\n<li><a href=\"#patch-remove-txtrecord\">7. PATCH &#x2013; Supprimer un enregistrement TXT<\/a><\/li>\n<li><a href=\"#patch-add-cnamerecord\">8. PATCH &#x2013; Ajouter un enregistrement CNAME<\/a><\/li>\n<li><a href=\"#patch-remove-cnamerecord\">9. PATCH &#x2013; Supprimer un enregistrement CNAME<\/a><\/li>\n<\/ul>\n<hr>\n<p><!----------------------------------------------><br>\n<!-- SECTION GET --><br>\n<!----------------------------------------------><\/p>\n<p><a id=\"get-zone-info\"><\/a><br>\n<b>======================================<\/b><br>\n<b> GET &#x2013; INFORMATIONS SUR LA ZONE<\/b><br>\n<b>======================================<\/b><\/p>\n<h2><b>1. Obtenir les informations d&#x2019;une zone<\/b><\/h2>\n<p><b>GET<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu<\/code><\/p>\n<p><b>Param&#xE8;tres<\/b><\/p>\n<ul>\n<li><b>Authorization<\/b> (header)<\/li>\n<li><b>domain<\/b> (path)<\/li>\n<\/ul>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>{&#13;\n  \"expire\": \"2026-03-23T14:57:43.279Z\",&#13;\n  \"creation\": \"2026-03-23T14:57:43.279Z\",&#13;\n  \"lastChange\": \"2026-03-23T14:57:43.279Z\",&#13;\n  \"domain\": \"example.lu\",&#13;\n  \"contactArray\": [...],&#13;\n  \"nameserverArray\": [...],&#13;\n  \"resourceRecords\": [...],&#13;\n  \"domainStatus\": [...]&#13;\n}<\/pre>\n<hr>\n<p>&#xA0;<\/p>\n<h2><b>2. Obtenir les enregistrements DNS de la zone<\/b><\/h2>\n<p><b>GET<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/records<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/records<\/code><\/p>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>[&#13;\n  {&#13;\n    \"group\": \"default\",&#13;\n    \"AResourceRecord\": [...],&#13;\n    \"CNAMEResourceRecord\": [...],&#13;\n    \"TXTResourceRecord\": [&#13;\n      { \"name\": \"example.lu.\", \"ttl\": 0, \"active\": true, \"text\": \"OtSANXuE\" },&#13;\n      { \"name\": \"example.lu.\", \"ttl\": 0, \"active\": true, \"text\": \"40plQl4A\" },&#13;\n      { \"name\": \"example.lu.\", \"ttl\": 0, \"active\": true, \"text\": \"hello 123\" },&#13;\n      { \"name\": \"example.lu.\", \"ttl\": 0, \"active\": true, \"text\": \"v=spf1 include:spf-strict.hostpack.lu -all\" }&#13;\n    ]&#13;\n  }&#13;\n]<\/pre>\n<hr>\n<p>&#xA0;<\/p>\n<h2><b>3. Exporter la zone DNS<\/b><\/h2>\n<p><b>GET<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/export<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/export<\/code><\/p>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>example.lu. 172800 IN NS ns1.pt.lu.&#13;\nexample.lu. 172800 IN NS ns3.pt.lu.&#13;\nexample.lu. 172800 IN NS ns2.pt.lu.&#13;\nexample.lu. 3600   IN MX 10 mx.hostpack.lu.&#13;\nsmtp.example.lu. 3600 IN CNAME outgoing.hostpack.lu.&#13;\napi.example.lu.  300  IN CNAME backend.example.lu.&#13;\nwww.example.lu.  3600 IN A 194.154.192.87&#13;\nexample.lu.      300  IN A 194.154.192.87&#13;\nexample.lu.      300  IN A 127.127.127.127&#13;\n<\/pre>\n<hr>\n<p><!----------------------------------------------><br>\n<!-- SECTION PATCH --><br>\n<!----------------------------------------------><\/p>\n<p><a id=\"patch-add-arecord\"><\/a><br>\n<b>======================================<\/b><br>\n<b> PATCH &#x2013; MODIFIER LES ENREGISTREMENTS<\/b><br>\n<b>======================================<\/b><\/p>\n<h2><b>4. Ajouter un enregistrement A<\/b><\/h2>\n<p><b>PATCH<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/records\/add\/ARecord<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/records\/add\/ARecord<\/code><\/p>\n<p><b>Corps de la requ&#xEA;te<\/b><\/p>\n<pre>{&#13;\n  \"name\": \"example.lu.\",&#13;\n  \"ttl\": \"300\",&#13;\n  \"active\": \"true\",&#13;\n  \"hostAddress\": \"127.127.127.127\"&#13;\n}<\/pre>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>{&#13;\n  \"code\": 1001,&#13;\n  \"message\": \"Domain Zone Modify - Command completed successfully. Action pending.\",&#13;\n  \"ticket\": \"2603261350443199\",&#13;\n  \"infoMsg\": [],&#13;\n  \"errorMsg\": []&#13;\n}<\/pre>\n<hr>\n<p>&#xA0;<\/p>\n<h2><b>5. Supprimer un enregistrement A<\/b><\/h2>\n<p><b>PATCH<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/records\/remove\/ARecord<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/records\/remove\/ARecord<\/code><\/p>\n<p><b>Corps de la requ&#xEA;te<\/b><\/p>\n<pre>{&#13;\n  \"name\": \"example.lu.\",&#13;\n  \"ttl\": \"300\",&#13;\n  \"active\": \"true\",&#13;\n  \"hostAddress\": \"127.127.127.127\"&#13;\n}<\/pre>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>{&#13;\n  \"code\": 1001,&#13;\n  \"message\": \"Domain Zone Modify - Command completed successfully. Action pending.\",&#13;\n  \"ticket\": \"2603261353158199\",&#13;\n  \"infoMsg\": [],&#13;\n  \"errorMsg\": []&#13;\n}<\/pre>\n<hr>\n<p>&#xA0;<\/p>\n<h2><b>6. Ajouter un enregistrement TXT<\/b><\/h2>\n<p><b>PATCH<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/records\/add\/TXTRecord<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/records\/add\/TXTRecord<\/code><\/p>\n<p><b>Corps de la requ&#xEA;te<\/b><\/p>\n<pre>{&#13;\n  \"name\": \"example.lu.\",&#13;\n  \"ttl\": \"300\",&#13;\n  \"active\": \"true\",&#13;\n  \"text\": \"66iCWhUr\"&#13;\n}<\/pre>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>{&#13;\n  \"code\": 1001,&#13;\n  \"message\": \"Domain Zone Modify - Command completed successfully. Action pending.\",&#13;\n  \"ticket\": \"2603261345481210\",&#13;\n  \"infoMsg\": [],&#13;\n  \"errorMsg\": []&#13;\n}<\/pre>\n<hr>\n<p>&#xA0;<\/p>\n<h2><b>7. Supprimer un enregistrement TXT<\/b><\/h2>\n<p><b>PATCH<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/records\/remove\/TXTRecord<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/records\/remove\/TXTRecord<\/code><\/p>\n<p><b>Corps de la requ&#xEA;te<\/b><\/p>\n<pre>{&#13;\n  \"name\": \"example.lu.\",&#13;\n  \"ttl\": \"300\",&#13;\n  \"active\": \"true\",&#13;\n  \"text\": \"66iCWhUr\"&#13;\n}<\/pre>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>{&#13;\n  \"code\": 1001,&#13;\n  \"message\": \"Domain Zone Modify - Command completed successfully. Action pending.\",&#13;\n  \"ticket\": \"2603261355413680\",&#13;\n  \"infoMsg\": [],&#13;\n  \"errorMsg\": []&#13;\n}<\/pre>\n<hr>\n<p>&#xA0;<\/p>\n<h2><b>8. Ajouter un enregistrement CNAME<\/b><\/h2>\n<p><b>PATCH<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/records\/add\/CNAMERecord<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/records\/add\/CNAMERecord<\/code><\/p>\n<p><b>Corps de la requ&#xEA;te<\/b><\/p>\n<pre>{&#13;\n  \"name\": \"api.example.lu.\",&#13;\n  \"ttl\": \"300\",&#13;\n  \"active\": \"true\",&#13;\n  \"hostname\": \"example.lu.copr.lu.\"&#13;\n}<\/pre>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>{&#13;\n  \"code\": 1001,&#13;\n  \"message\": \"Domain Zone Modify - Command completed successfully. Action pending.\",&#13;\n  \"ticket\": \"2603261400502312\",&#13;\n  \"infoMsg\": [],&#13;\n  \"errorMsg\": []&#13;\n}<\/pre>\n<hr>\n<hr>\n<p>&#xA0;<\/p>\n<h2><b>8. Supprimer un enregistrement CNAME<\/b><\/h2>\n<p><b>PATCH<\/b> :<br>\n<code>https:\/\/api.mydomain.lu\/zones\/{domain}\/records\/remove\/CNAMERecord<\/code><br>\n<i>Exemple :<\/i> <code>https:\/\/api.mydomain.lu\/zones\/example.lu\/records\/remove\/CNAMERecord<\/code><\/p>\n<p><b>Corps de la requ&#xEA;te<\/b><\/p>\n<pre>{&#13;\n  \"name\": \"api.example.lu.\",&#13;\n  \"ttl\": \"300\",&#13;\n  \"active\": \"true\",&#13;\n  \"hostname\": \"example.lu.copr.lu.\"&#13;\n}<\/pre>\n<p><b>R&#xE9;ponse 200 OK<\/b><\/p>\n<pre>{&#13;\n  \"code\": 1001,&#13;\n  \"message\": \"Domain Zone Modify - Command completed successfully. Action pending.\",&#13;\n  \"ticket\": \"2603261400502312\",&#13;\n  \"infoMsg\": [],&#13;\n  \"errorMsg\": []&#13;\n}<\/pre>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>Pr&#xE9;sentation de l&#x2019;API L&#x2019;API mydomain.lu DNS Management permet de g&#xE9;rer automatiquement les zones DNS. Elle offre des fonctionnalit&#xE9;s pour r&#xE9;cup&#xE9;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&#x2019;op&#xE9;ration est trait&#xE9;e de fa&#xE7;on asynchrone. Une commande est trait&#xE9;e de mani&#xE8;re &#x2026; <a href=\"https:\/\/support.pt.lu\/fr\/api-documentation-mydomain-lu\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Documentation API (mydomain.lu)<\/span>  <span class=\"meta-nav\">&#x2192;<\/span><\/a><\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3128","page","type-page","status-publish","hentry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"fr","enabled_languages":["en","de","fr"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/pages\/3128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/comments?post=3128"}],"version-history":[{"count":37,"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/pages\/3128\/revisions"}],"predecessor-version":[{"id":3161,"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/pages\/3128\/revisions\/3161"}],"wp:attachment":[{"href":"https:\/\/support.pt.lu\/fr\/wp-json\/wp\/v2\/media?parent=3128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}