>_ NicAPI Dokumentation
REST-API von LUMASERV: Domains, DNS, SSL, Cloud-Server, IP-Adressen, Abrechnung und mehr.
- POST API-Token anlegen
- GET API-Tokens abrufen
- GET Einzelnen API-Token abrufen
- POST API-Token deaktivieren
- GET Benutzer abrufen
- POST Users: Emergency Contacts
- PUT Benutzer sperren
- GET Rechte abrufen
- PUT Rechte aktualisieren
- GET Users: Two Factor Auth
- POST Users: Two Factor Auth Activate
- POST Users: Two Factor Auth Deactivate
- PUT Benutzer freigeben
- PUT Benutzer aktualisieren
- GET Rechnungen abrufen
- GET Rechnungspositionen abrufen
- GET Billings: Positions Statistics
- GET Einzelne Rechnungsposition abrufen
- GET Billings: Statistics
- GET Einzelne Rechnung abrufen
- GET Rechnung downloaden
- GET Verträge abrufen
- GET Vertragspositionen abrufen
- GET Contracts: Positions Statistics
- GET Einzelne Vertragsposition abrufen
- GET Contracts: Statistics
- GET Einzelnen Vertrag abrufen
- GET Rechnungspositionen zu Vertrag abrufen
- GET Positionen zu einzelnem Vertrag abrufen
- GET Pricing: Cloud Servers
- GET Domainpreise abrufen
- GET Domainangebote abrufen
- GET Pricing: Domains Generate Pdf
- GET Service-Preise abrufen
- GET SSL-Preise abrufen
- GET TeamSpeak-Preise abrufen
- GET Traffic-Preise abrufen
- GET vServer-Preise abrufen
- GET Domains abrufen
- POST AuthCode abrufen
- POST Verfügbarkeit abfragen
- POST Domain bestellen
- DELETE Domain löschen
- POST Domain aktualisieren
- POST Domain wiederherstellen
- GET Einzelne Domain abrufen
- GET Domains: Statistics
- GET TLDs abrufen
- GET Domains: Tlds Popular
- POST Domainlöschung zurückziehen
- GET Handles abrufen
- GET Länder abrufen
- POST Handle erstellen
- DELETE Handle löschen
- POST Handle bearbeiten
- GET Einzelnes Handle abrufen
- GET Handles: Statistics
- POST Handles: Verification Refresh
- POST Handles: Verification Resend
- GET Nameserver abrufen
- POST Nameserver erstellen
- DELETE Nameserver löschen
- POST Nameserver aktualisieren
- GET Einzelnen Nameserver abrufen
- GET Nameservers: Statistics
- GET Firewall: Address Sets
- POST Firewall: Address Sets
- GET Firewall: Address Sets
- PUT Firewall: Address Sets
- DELETE Firewall: Address Sets
- GET Firewall: Address Sets Addresses
- POST Firewall: Address Sets Addresses
- PUT Firewall: Address Sets Addresses
- DELETE Firewall: Address Sets Addresses
- GET Firewall: Rule Sets
- POST Firewall: Rule Sets
- GET Firewall: Rule Sets
- PUT Firewall: Rule Sets
- DELETE Firewall: Rule Sets
- GET Firewall: Rule Sets Rules
- POST Firewall: Rule Sets Rules
- GET Firewall: Rule Sets Rules
- PUT Firewall: Rule Sets Rules
- DELETE Firewall: Rule Sets Rules
- GET Servers: Auflisten
- POST Servers: Anlegen / Ausführen
- GET Servers: Mass Status
- GET Servers: Einzeln abrufen
- PUT Servers: Ändern
- DELETE Servers: Löschen
- GET Servers: Backups
- POST Servers: Backups
- DELETE Servers: Backups
- GET Servers: Firewall Rules
- POST Servers: Firewall Rules
- GET Servers: Firewall Rules
- PUT Servers: Firewall Rules
- DELETE Servers: Firewall Rules
- GET Servers: Interfaces
- POST Servers: Interfaces
- GET Servers: Interfaces
- PUT Servers: Interfaces
- DELETE Servers: Interfaces
- POST generated::QkaYN4Qjzpl5xPe0
- POST Servers: Restore
- GET Servers: Scheduled Tasks
- POST Servers: Scheduled Tasks
- DELETE Servers: Scheduled Tasks
- POST generated::0mWlTuWs5diykAGJ
- GET Servers: Snapshots
- POST Servers: Snapshots
- GET Servers: Snapshots
- DELETE Servers: Snapshots
- PUT Servers: Snapshots Rollback
- POST generated::aNb3LXlouO0Ch60n
- POST generated::OBXhxYXUvcM9Thyy
- POST Servers: Storages
- PUT Servers: Storages
- DELETE Servers: Storages
- GET Addresses: Auflisten
- POST Addresses: Anlegen / Ausführen
- GET Addresses: Statistics
- GET Addresses: Traffic
- GET Addresses: Einzeln abrufen
- PUT Addresses: Ändern
- DELETE Addresses: Löschen
- POST Addresses: Blackhole
- DELETE Addresses: Blackhole
- GET Addresses: Graph
- POST Addresses: Rdns Create
- DELETE Addresses: Rdns Delete
- POST Addresses: Reserve
- GET Addresses: Traffic
- POST Addresses: Unreserve
- GET Dedizierte Server abrufen
- GET Dedicated Servers: Statistics
- GET Einzelnen dedizierten Server abrufen
- GET KVM-Download
- POST KVM-Reset
- POST Dedizierten Server zurücksetzen
- POST Dedizierten Server starten
- GET Status zum Server abfragen
- POST Dedizierten Server herunterfahren
- GET PXE-Installationen abrufen
- POST PXE-Installation erstellen
- GET Templates abrufen
- GET Einzelne Installation abrufen
- POST PXE-Installation abbrechen
- GET PXE-Operationen abrufen
- POST PXE-Operation erstellen
- GET Einzelne PXE-Operation abrufen
- POST PXE-Operation abbrechen
- GET Traffic abrufen
- GET Traffic-Pools abrufen
- GET Traffic: Pools Statistics
- GET Einzelnen Traffic-Pool abrufen
- GET Graph zu Traffic-Pool
- GET Werte zu Traffic-Pool
- GET Traffic: Statistics
- GET vServer abrufen
- POST Vservers: Anlegen / Ausführen
- POST vServer-Backup erstellen
- GET Vservers: Backups Statistics
- DELETE vServer-Backup löschen
- POST vServer aus Backup wiederherstellen
- POST generated::iP5mtIR4arsoxlS2
- GET Geplante Aufgaben abrufen
- POST Geplante Aufgabe erstellen
- GET Vservers: Scheduled Tasks Statistics
- DELETE Geplante Aufgabe löschen
- GET Vservers: Statistics
- GET Vservers: Tasks
- GET Vservers: Tasks Statistics
- GET Einzelnen vServer abrufen
- GET IP-Adressen zu einzelnem vServer abrufen
- GET Backups zu einzelnem vServer abrufen
- POST Backup erstellen
- DELETE vServer löschen
- GET Graph zu einzelnem vServer abrufen
- GET Netzwerke zu einzelnem vServer abrufen
- POST vServer neuinstallieren
- POST vServer neustarten
- GET Geplante Aufgabe zu einzelnem vServer abrufen
- POST vServer herunterfahren
- POST vServer starten
- GET vServer-Status abrufen
- POST vServer stoppen
- GET Tasks zu einzelnem vServer abrufen
- PUT vServer upgraden
- GET VNC-Konsole
Einführung
Die NicAPI ist die REST-Schnittstelle von LUMASERV. Über sie verwalten Sie Domains, DNS-Zonen, SSL-Zertifikate, Cloud-Server, IP-Adressen, Verträge und Rechnungen programmatisch. Diese Dokumentation wird automatisch aus der API erzeugt und listet jeden für Kunden verfügbaren Endpunkt mit seinen Parametern.
Derzeit dokumentiert: 288 Endpunkte in 15 Bereichen. Wählen Sie links einen Bereich oder nutzen Sie den Filter.
Basis-URL und Versionen
Alle Endpunkte liegen unter folgenden Basis-URLs. Die Versionsnummer ist Teil des Pfads und wird in dieser Dokumentation bei jedem Endpunkt angezeigt.
API v1: https://connect.nicapi.eu/api/v1/ API v2: https://connect.nicapi.eu/api/v2/
Authentifizierung
Jeder Aufruf (mit Ausnahme der als öffentlich gekennzeichneten Endpunkte) benötigt einen API-Token. Den Token erstellen Sie im Kundenbereich unter Account → API-Tokens. Übergeben Sie ihn entweder als HTTP-Header oder als Parameter authToken.
# Variante 1: HTTP-Header (empfohlen) curl -H "Authorization: Bearer IHR_API_TOKEN" \ "https://connect.nicapi.eu/api/v1/account/account" # Variante 2: Parameter authToken curl "https://connect.nicapi.eu/api/v1/account/account?authToken=IHR_API_TOKEN"
Anfragen
GET-Anfragen übergeben Parameter als Query-String, alle anderen Methoden im Request-Body – wahlweise als JSON (Content-Type: application/json) oder als Formular-Felder. Pfad-Parameter (z. B. {cloud_server}) werden direkt in die URL eingesetzt. Viele Endpunkte der API v1 identifizieren das Zielobjekt stattdessen über einen gewöhnlichen Parameter (z. B. domainName); dieser ist in der jeweiligen Parameter-Tabelle als Identifikator gekennzeichnet.
GET liest Daten, POST legt Ressourcen an oder löst Aktionen aus, PUT ändert Ressourcen und DELETE löscht sie.
| Kennzeichnung | Bedeutung |
|---|---|
| Pflicht | Der Parameter muss immer übergeben werden. |
| Bedingt | Der Parameter ist nur unter der angegebenen Bedingung Pflicht (z. B. abhängig von einem anderen Feld). |
| Optional | Der Parameter kann weggelassen werden. |
| Identifikator: Domain | Der Wert identifiziert ein vorhandenes Objekt (ID, Name, UUID …). Welches Feld erwartet wird, steht in der Beschreibung des Parameters. |
positions[].title | Feld eines Objekts innerhalb einer Liste: positions ist ein Array von Objekten, die jeweils ein Feld title besitzen. |
Antworten
Antworten sind immer JSON und folgen demselben Aufbau: status ist "success" oder "error", data enthält die Nutzdaten, messages enthält Hinweise, Warnungen und Fehlermeldungen. Fehler werden zusätzlich über den HTTP-Statuscode (z. B. 400, 403, 404, 422) signalisiert.
{
"status": "success",
"data": { ... },
"pagination": null,
"messages": {
"success": [],
"warnings": [],
"errors": []
},
"metadata": {
"clientTransactionId": null,
"serverTransactionId": "…"
}
}
Listen: Paginierung, Sortierung und Filter
Endpunkte, die Listen zurückgeben, unterstützen folgende optionale Query-Parameter. Die Antwort enthält dann zusätzlich ein pagination-Objekt mit der Gesamtanzahl sowie Links auf die nächste und vorherige Seite.
| Parameter | Typ | Beschreibung |
|---|---|---|
limit | Ganzzahl | Maximale Anzahl Einträge pro Antwort. |
offset | Ganzzahl | Anzahl zu überspringender Einträge (für die nächste Seite offset um limit erhöhen). |
order[feld] | asc / desc | Sortierung nach Feld, z. B. order[created_at]=desc. |
easy_filter[feld] | Text | Einfacher Filter auf exakte Werte, z. B. easy_filter[status]=active. |
curl -H "Authorization: Bearer IHR_API_TOKEN" \ "https://connect.nicapi.eu/api/v1/domain/domains?limit=50&offset=100&order%5Bname%5D=asc"
Eckige Klammern in Query-Parametern müssen URL-kodiert werden (%5B / %5D), sonst interpretiert cURL sie als Platzhalter.
PHP-Client
Für PHP steht ein Client zur Verfügung, der Authentifizierung und Request-Aufbau übernimmt. Die Beispiele bei jedem Endpunkt zeigen den Aufruf sowohl per cURL als auch mit dem PHP-Client.
composer require nicapi/php-client
use NicAPI\NicAPI;
NicAPI::init("IHR_API_TOKEN");
// API v1: Pfad relativ zur Basis-URL
$result = NicAPI::get("domain/domains", ["limit" => 50]);
if (NicAPI::wasSuccess()) {
$domains = $result->data;
}
// API v2: vollständige URL übergeben
$result = NicAPI::get("https://connect.nicapi.eu/api/v2/cloud/servers");
if (NicAPI::wasSuccess()) {
$servers = $result->data;
}