API-Dokumentation Webhosting für alle LWS besuchen

DNS-Zoneneintrag aktualisieren

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

operationIdputDomainZdns

Aktualisiert einen bestehenden DNS-Zoneneintrag für die angegebene Domain. Die ID des Eintrags kann durch eine GET-Anfrage auf die DNS-Zone der Domain ermittelt werden. Existiert der Eintrag nicht, wird er stattdessen hinzugefügt

Pfadparameter

domain string erforderlich

Domainname, dessen DNS-Eintrag aktualisiert werden soll

Beispiel: example.fr

Anfrage-Body

  • id integer

    ID des zu aktualisierenden Eintrags

    Beispiel: 234851

    erforderlich
  • type string

    Typ des DNS-Eintrags

    Beispiel: A

    erforderlich
  • name string

    Name des Eintrags

    Beispiel: @

    erforderlich
  • value string

    Wert des Eintrags

    Beispiel: 192.0.2.1

    erforderlich
  • ttl integer

    Time-to-Live (TTL) in Sekunden

    Beispiel: 86400

    erforderlich
Beispielanfrage
{
  "id": 234851,
  "type": "A",
  "name": "@",
  "value": "192.0.2.1",
  "ttl": 86400
}

Antworten

200

DNS-Eintrag erfolgreich aktualisiert

{
  "code": 200,
  "info": "Updated record",
  "data": {
    "id": "568470",
    "type": "AAAA",
    "name": "@",
    "value": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "ttl": 86400
  }
}
Felder der Antwort 8 Erweitert ApiEnvelope
  • code integer

    Statuscode/Fehlercode auf Anwendungsebene (nicht immer identisch mit dem HTTP-Statuscode)

    Beispiel: 200

  • info string

    Lesbare Nachricht, die das Ergebnis der Anfrage beschreibt

    Beispiel: Updated record

  • data object
  • id integer

    ID des Eintrags. Wird für eintragsspezifische Funktionen wie DELETE verwendet

    Beispiel: 568470

  • type string

    Art des Feldes, das der DNS-Zone hinzugefügt werden soll. Muss A, AAAA, CNAME, ANAME, MX, NS, TXT, SRV, SPF oder CAA sein

    Beispiel: AAAA

  • name string

    Name des Feldes, das der DNS-Zone hinzugefügt werden soll. Der Inhalt hängt vom Typ des hinzuzufügenden Eintrags ab. Zum Beispiel @ oder mail für A-Einträge, www für CNAME-Einträge, @ für NS usw...

    Beispiel: @

  • value string

    Wert des Feldes, das der DNS-Zone hinzugefügt werden soll. Kann eine IP-Adresse, ein Domainname, ein DNS usw. sein

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

  • ttl integer

    Time-to-Live (TTL) des Feldes, das der DNS-Zone hinzugefügt werden soll. Muss 86400, 43200, 21600, 7200, 3600, 1800 oder 900 sein

    Beispiel: 86400

314

Domain im Konto nicht gefunden

314 ist kein registrierter HTTP-Statuscode. Er ist spezifisch für diese API.

{
  "code": 314,
  "info": "Provided domain has not been found on your account. You must own this domain to manage it."
}
Felder der Antwort 2 Erweitert ApiEnvelope
  • code integer

    Statuscode/Fehlercode auf Anwendungsebene (nicht immer identisch mit dem HTTP-Statuscode)

    Beispiel: 314

  • info string

    Lesbare Nachricht, die das Ergebnis der Anfrage beschreibt

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

400

Ungültige Eingabe

{
  "code": 400,
  "info": "Invalid input",
  "data": []
}
Felder der Antwort 3 Erweitert ApiEnvelope
  • code integer

    Statuscode/Fehlercode auf Anwendungsebene (nicht immer identisch mit dem HTTP-Statuscode)

    Beispiel: 400

  • info string

    Lesbare Nachricht, die das Ergebnis der Anfrage beschreibt

    Beispiel: Invalid input

  • data object

    Details zu den Validierungsfehlern

500

Interner Serverfehler

{
  "code": 500,
  "info": "Internal Server Error",
  "data": "string"
}
Felder der Antwort 3 Erweitert ApiEnvelope
  • code integer

    Statuscode/Fehlercode auf Anwendungsebene (nicht immer identisch mit dem HTTP-Statuscode)

    Beispiel: 500

  • info string

    Lesbare Nachricht, die das Ergebnis der Anfrage beschreibt

    Beispiel: Internal Server Error

  • data string

    Fehlermeldung

502

Ungültiges Gateway

{
  "code": 502,
  "info": "Invalid response from upstream server",
  "data": []
}
Felder der Antwort 3 Erweitert ApiEnvelope
  • code integer

    Statuscode/Fehlercode auf Anwendungsebene (nicht immer identisch mit dem HTTP-Statuscode)

    Beispiel: 502

  • info string

    Lesbare Nachricht, die das Ergebnis der Anfrage beschreibt

    Beispiel: Invalid response from upstream server

  • data object

    Ungültige Antwort des Servers

401

Nicht autorisiert - Authentifizierungs-Header fehlen

{
  "code": 401,
  "info": "Unauthorized access to the API. Please specify X-Auth-Pass and X-Auth-Login to proceed."
}
Felder der Antwort 2
  • code integer

    Beispiel: 401

  • info string

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

429

Anfragelimit überschritten

{
  "code": 429,
  "info": "Rate limit exceeded. Please try again later."
}
Felder der Antwort 2
  • code integer

    Beispiel: 429

  • info string

    Beispiel: Rate limit exceeded. Please try again later.

Codebeispiele und Testkonsole anzeigen
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)