Documentation API L’hébergement web accessible à tous Visiter LWS

Mettre à jour un enregistrement de la zone DNS

PUT https://api.lws.net/v1/domain/{domain}/zdns

operationIdputDomainZdns

Met à jour un enregistrement existant de la zone DNS pour le domaine spécifié. L'ID de l'enregistrement peut être obtenu en effectuant une requête GET sur la zone DNS du domaine. Si l'enregistrement n'existe pas, il sera ajouté à la place

Paramètres du chemin

domain string requis

Nom de domaine dont l'enregistrement DNS doit être mis à jour

Exemple: example.fr

Corps de la requête

  • id integer

    ID de l'enregistrement à mettre à jour

    Exemple: 234851

    requis
  • type string

    Type d'enregistrement DNS

    Exemple: A

    requis
  • name string

    Nom de l'enregistrement

    Exemple: @

    requis
  • value string

    Valeur de l'enregistrement

    Exemple: 192.0.2.1

    requis
  • ttl integer

    Durée de vie (TTL) en secondes

    Exemple: 86400

    requis
Exemple de requête
{
  "id": 234851,
  "type": "A",
  "name": "@",
  "value": "192.0.2.1",
  "ttl": 86400
}

Réponses

200

Enregistrement DNS mis à jour avec succès

{
  "code": 200,
  "info": "Updated record",
  "data": {
    "id": "568470",
    "type": "AAAA",
    "name": "@",
    "value": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "ttl": 86400
  }
}
Champs de la réponse 8 Étend ApiEnvelope
  • code integer

    Code de statut/erreur applicatif (pas toujours égal au code de statut HTTP)

    Exemple: 200

  • info string

    Message lisible décrivant le résultat de la requête

    Exemple: Updated record

  • data object
  • id integer

    ID de l'enregistrement. Utilisé pour les fonctions spécifiques à l'enregistrement comme DELETE

    Exemple: 568470

  • type string

    Type de champ à ajouter à la zone DNS. Doit être A, AAAA, CNAME, ANAME, MX, NS, TXT, SRV, SPF ou CAA

    Exemple: AAAA

  • name string

    Nom du champ à ajouter à la zone DNS. Son contenu dépend du type d'enregistrement à ajouter. Par exemple, @ ou mail pour les enregistrements A, www pour les enregistrements CNAME, @ pour NS, etc...

    Exemple: @

  • value string

    Valeur du champ à ajouter à la zone DNS. Peut être une adresse IP, un nom de domaine, un DNS, ...

    Exemple: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

  • ttl integer

    Durée de vie (TTL) du champ à ajouter à la zone DNS. Doit être 86400, 43200, 21600, 7200, 3600, 1800 ou 900

    Exemple: 86400

314

Domaine introuvable sur le compte

314 n’est pas un code de statut HTTP enregistré. Il est spécifique à cette API.

{
  "code": 314,
  "info": "Provided domain has not been found on your account. You must own this domain to manage it."
}
Champs de la réponse 2 Étend ApiEnvelope
  • code integer

    Code de statut/erreur applicatif (pas toujours égal au code de statut HTTP)

    Exemple: 314

  • info string

    Message lisible décrivant le résultat de la requête

    Exemple: Provided domain has not been found on your account. You must own this domain to manage it.

400

Entrée invalide

{
  "code": 400,
  "info": "Invalid input",
  "data": []
}
Champs de la réponse 3 Étend ApiEnvelope
  • code integer

    Code de statut/erreur applicatif (pas toujours égal au code de statut HTTP)

    Exemple: 400

  • info string

    Message lisible décrivant le résultat de la requête

    Exemple: Invalid input

  • data object

    Détails des erreurs de validation

500

Erreur interne du serveur

{
  "code": 500,
  "info": "Internal Server Error",
  "data": "string"
}
Champs de la réponse 3 Étend ApiEnvelope
  • code integer

    Code de statut/erreur applicatif (pas toujours égal au code de statut HTTP)

    Exemple: 500

  • info string

    Message lisible décrivant le résultat de la requête

    Exemple: Internal Server Error

  • data string

    Message d'erreur

502

Passerelle incorrecte

{
  "code": 502,
  "info": "Invalid response from upstream server",
  "data": []
}
Champs de la réponse 3 Étend ApiEnvelope
  • code integer

    Code de statut/erreur applicatif (pas toujours égal au code de statut HTTP)

    Exemple: 502

  • info string

    Message lisible décrivant le résultat de la requête

    Exemple: Invalid response from upstream server

  • data object

    Réponse invalide retournée par le serveur

401

Non autorisé - En-têtes d'authentification manquants

{
  "code": 401,
  "info": "Unauthorized access to the API. Please specify X-Auth-Pass and X-Auth-Login to proceed."
}
Champs de la réponse 2
  • code integer

    Exemple: 401

  • info string

    Exemple: Unauthorized access to the API. Please specify X-Auth-Pass and X-Auth-Login to proceed.

429

Limite de requêtes dépassée

{
  "code": 429,
  "info": "Rate limit exceeded. Please try again later."
}
Champs de la réponse 2
  • code integer

    Exemple: 429

  • info string

    Exemple: Rate limit exceeded. Please try again later.

Afficher les exemples de code et la console de test
PUT /domain/{domain}/zdns
LWS_AUTH_LOGIN='…'LWS_AUTH_PASS='…'curl -X PUT \  "https://api.lws.net/v1/domain/example.fr/zdns" \  -H "X-Auth-Login: $LWS_AUTH_LOGIN" \  -H "X-Auth-Pass: $LWS_AUTH_PASS" \  -H "Content-Type: application/json" \  -d '{"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}'
$lwsAuthLogin = '…';$lwsAuthPass = '…';$ch = curl_init("https://api.lws.net/v1/domain/example.fr/zdns");curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [    "X-Auth-Login: " . $lwsAuthLogin,    "X-Auth-Pass: " . $lwsAuthPass,    "Content-Type: application/json",]);curl_setopt($ch, CURLOPT_POSTFIELDS, '{"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}');$res = json_decode(curl_exec($ch), true);
import requestsLWS_AUTH_LOGIN = "…"LWS_AUTH_PASS = "…"res = requests.put(    "https://api.lws.net/v1/domain/example.fr/zdns",    headers={        "X-Auth-Login": LWS_AUTH_LOGIN,        "X-Auth-Pass": LWS_AUTH_PASS,    },    json={"id": 234851, "type": "A", "name": "@", "value": "192.0.2.1", "ttl": 86400},)print(res.json())
const LWS_AUTH_LOGIN = "…";const LWS_AUTH_PASS = "…";const res = await fetch("https://api.lws.net/v1/domain/example.fr/zdns", {  method: "PUT",  headers: {    "X-Auth-Login": LWS_AUTH_LOGIN,    "X-Auth-Pass": LWS_AUTH_PASS,    "Content-Type": "application/json",  },  body: JSON.stringify({"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}),});const data = await res.json();
lwsAuthLogin := "…"lwsAuthPass := "…"body := strings.NewReader(`{"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}`)req, _ := http.NewRequest("PUT",    "https://api.lws.net/v1/domain/example.fr/zdns", body)req.Header.Set("X-Auth-Login", lwsAuthLogin)req.Header.Set("X-Auth-Pass", lwsAuthPass)req.Header.Set("Content-Type", "application/json")resp, err := http.DefaultClient.Do(req)