>_ NicAPI Dokumentation

REST-API von LUMASERV: Domains, DNS, SSL, Cloud-Server, IP-Adressen, Abrechnung und mehr.

DNS / Zonen

GET Zonen abrufen API v1

GET https://connect.nicapi.eu/api/v1/dns/zones

Gibt alle zugewiesenen DNS-Zonen zurück.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_LIST

Dieser Endpunkt benötigt neben der Authentifizierung keine weiteren Request-Parameter.

curl \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  "https://connect.nicapi.eu/api/v1/dns/zones"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::get("dns/zones");

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

POST Zone erstellen API v1

POST https://connect.nicapi.eu/api/v1/dns/zones/create

Erstellt eine neue DNS-Zones.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_CRUD

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
hostmaster Optional E-Mail-Adresse
refresh Optional Ganzzahl
mindestens 3600
höchstens 31556926
expire Optional Ganzzahl
mindestens 3600
höchstens 31556926
retry Optional Ganzzahl
mindestens 600
höchstens 31556926
ttl Optional Ganzzahl
mindestens 60
höchstens 604800
records[].name Pflicht Text
höchstens 128 Zeichen
records[].ttl Optional Ganzzahl
darf leer (null) sein
mindestens 60
höchstens 604800
records[].type Pflicht Auswahl
A AAAA CNAME MX SRV TXT CAA PTR NS HTTP_FRAME HTTP_REDIRECT
records[].data Pflicht Text
Regel: dns_data
user Optional Identifikator: Benutzer Identifikator (username) des Objekts „User“.
name Pflicht Text
Objekt muss für den Account zugreifbar sein
muss eindeutig sein (noch nicht vergeben)
project_uuid Optional Identifikator: Projekt
darf leer (null) sein
Identifikator (uuid) des Objekts „Project“.
curl \
  -X POST \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "records": [
             {
                 "name": "text",
                 "type": "A",
                 "data": "text"
             }
         ],
         "name": "text"
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/create"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::post("dns/zones/create", [
    'records' => [
        [
            'name' => 'text',
            'type' => 'A',
            'data' => 'text',
        ],
    ],
    'name' => 'text',
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

DELETE Zone löschen API v1

DELETE https://connect.nicapi.eu/api/v1/dns/zones/delete

Löscht die übergebene DNS-Zone.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_CRUD

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“.
forceDelete Optional Boolean (true/false)
curl \
  -X DELETE \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "zone": "{zone}"
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/delete"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::delete("dns/zones/delete", [
    'zone' => '{zone}',
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

POST DNS-Einträge hinzufügen API v1

POST https://connect.nicapi.eu/api/v1/dns/zones/records/add

Fügt die übergebenen DNS-Einträge zur Zone hinzu.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_CRUD

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“.
records[].name Pflicht Text
höchstens 128 Zeichen
records[].ttl Optional Ganzzahl
darf leer (null) sein
mindestens 60
höchstens 604800
records[].type Pflicht Auswahl
A AAAA CNAME MX SRV TXT CAA PTR NS HTTP_FRAME HTTP_REDIRECT
records[].data Pflicht Text
Regel: dns_data
curl \
  -X POST \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "zone": "{zone}",
         "records": [
             {
                 "name": "text",
                 "type": "A",
                 "data": "text"
             }
         ]
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/records/add"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::post("dns/zones/records/add", [
    'zone' => '{zone}',
    'records' => [
        [
            'name' => 'text',
            'type' => 'A',
            'data' => 'text',
        ],
    ],
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

DELETE DNS-Einträge löschen API v1

DELETE https://connect.nicapi.eu/api/v1/dns/zones/records/delete

Löscht die übergebenen DNS-Einträge aus der Zone.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_CRUD

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“.
records[].name Optional Text
höchstens 128 Zeichen
records[].ttl Optional Ganzzahl
mindestens 60
höchstens 604800
records[].type Optional Auswahl
A AAAA CNAME MX SRV TXT TLSA CAA PTR NS HTTP_FRAME HTTP_REDIRECT
records[].data Optional Text
records[].id Optional Ganzzahl
mindestens 1
curl \
  -X DELETE \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "zone": "{zone}"
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/records/delete"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::delete("dns/zones/records/delete", [
    'zone' => '{zone}',
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

POST Zone aktualisieren API v1

POST https://connect.nicapi.eu/api/v1/dns/zones/refresh

Diese Funktion lädt die Zone auf dem Nameserver zu.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_CRUD

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“.
forceDelete Optional Boolean (true/false)
curl \
  -X POST \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "zone": "{zone}"
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/refresh"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::post("dns/zones/refresh", [
    'zone' => '{zone}',
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

GET Einzelne Zone abrufen API v1

GET https://connect.nicapi.eu/api/v1/dns/zones/show

Gibt eine einzelne DNS-Zone zurück.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_LIST

Request-Parameter Werden als Query-Parameter übergeben.

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“.
forceDelete Optional Boolean (true/false)
curl \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  "https://connect.nicapi.eu/api/v1/dns/zones/show?zone=%7Bzone%7D"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::get("dns/zones/show", [
    'zone' => '{zone}',
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

GET Zones: Statistics API v1

GET https://connect.nicapi.eu/api/v1/dns/zones/statistics
Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_LIST

Dieser Endpunkt benötigt neben der Authentifizierung keine weiteren Request-Parameter.

curl \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  "https://connect.nicapi.eu/api/v1/dns/zones/statistics"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::get("dns/zones/statistics");

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

PUT Zone ändern API v1

PUT https://connect.nicapi.eu/api/v1/dns/zones/update

Ermöglicht die Änderung an der kompletten Zone.

Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)
Benötigte Rechte
DNS_ZONES_CRUD

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“.
hostmaster Optional E-Mail-Adresse
refresh Optional Ganzzahl
mindestens 3600
höchstens 31556926
expire Optional Ganzzahl
mindestens 3600
höchstens 31556926
retry Optional Ganzzahl
mindestens 600
höchstens 31556926
ttl Optional Ganzzahl
mindestens 60
höchstens 604800
records[].name Pflicht Text
höchstens 128 Zeichen
records[].ttl Optional Ganzzahl
darf leer (null) sein
mindestens 60
höchstens 604800
records[].type Pflicht Auswahl
A AAAA CNAME MX SRV TXT CAA PTR NS TLSA HTTP_FRAME HTTP_REDIRECT DS
records[].data Pflicht Text
Regel: dns_data
user Optional Identifikator: Benutzer Identifikator (username) des Objekts „User“.
project_uuid Optional Identifikator: Projekt
darf leer (null) sein
Identifikator (uuid) des Objekts „Project“.
curl \
  -X PUT \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "zone": "{zone}",
         "records": [
             {
                 "name": "text",
                 "type": "A",
                 "data": "text"
             }
         ]
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/update"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::put("dns/zones/update", [
    'zone' => '{zone}',
    'records' => [
        [
            'name' => 'text',
            'type' => 'A',
            'data' => 'text',
        ],
    ],
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

POST Zones: Assign Domain API v1

POST https://connect.nicapi.eu/api/v1/dns/zones/{zone}/assignDomain
Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)

Pfad-Parameter Werden direkt in die URL eingesetzt.

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“, Teil des Pfads.

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
domainName Pflicht Text
Objekt muss für den Account zugreifbar sein
muss eindeutig sein (noch nicht vergeben)
curl \
  -X POST \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "domainName": "text"
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/{zone}/assignDomain"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::post("dns/zones/{zone}/assignDomain", [
    'domainName' => 'text',
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}

POST Zones: Dissociate Domain API v1

POST https://connect.nicapi.eu/api/v1/dns/zones/{zone}/dissociateDomain
Authentifizierung
API-Token erforderlich (Authorization: Bearer … oder Parameter authToken)

Pfad-Parameter Werden direkt in die URL eingesetzt.

Name Pflicht Typ Einschränkungen Beschreibung
zone Pflicht Identifikator: DNS-Zone Identifikator (name) des Objekts „Nameserver Zone“, Teil des Pfads.

Request-Parameter Werden im Request-Body übergeben (JSON oder Formular-Felder).

Name Pflicht Typ Einschränkungen Beschreibung
domainName Pflicht Text
Objekt muss für den Account zugreifbar sein
muss eindeutig sein (noch nicht vergeben)
curl \
  -X POST \
  -H "Authorization: Bearer IHR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "domainName": "text"
     }' \
  "https://connect.nicapi.eu/api/v1/dns/zones/{zone}/dissociateDomain"
use NicAPI\NicAPI;

NicAPI::init("IHR_API_TOKEN");

$result = NicAPI::post("dns/zones/{zone}/dissociateDomain", [
    'domainName' => 'text',
]);

if (NicAPI::wasSuccess()) {
    $data = $result->data;
}