NAV
php

Einführung

Willkommen auf der API-Dokumentation von LUMASERV Systems.

Was können Sie mit dieser API machen?

Die API ermöglicht Ihnen die eigenen sowie die Objekte Ihrer Unterbenutzer zu verwalten, neue zu erstellen oder Änderungen durchzuführen. Die API ist restFul aufgebaut und wird mittels HTTP-Anfragen aufgerufen. Die Rückgabe erfolgt stets im JSON-Format.

Wir haben die API so aufgebaut, dass diese von Ihnen über einfache Methoden über beispielsweise unseren PHP-Client aufgerufen werden kann. Dabei ist uns wichtig, dass alle Funktionen, welche in unserem Partner-Interface getätigt werden können, auch über die API zur Verfügung stehen.

Wir möchten uns gerne stets weiter verbessern. Sollten Sie Verbesserungsvorschläge zu unseren API-Funktionen oder sonstige Umsetzungswünsche haben, zögern Sie bitte nicht uns zu kontaktieren. Wir werden uns bemühen Ihre Vorschläge umzusetzen.

Ihr Ansprechpartner für Fragen rund um die API

Jan Luca Pulst

E-Mail: jl.pulst@lumaserv.com

Telefon: 07361 - 58 966 30

Authentifizierung

$lumaserv = new \LumaservSystems\LUMASERV('your-api-token');

Der Zugriff auf die API erfordert die Übergabe Ihres persönlichen API-Keys. Dieser ist eine zufällige Zahlen- und Buchstabenfolge und kann in Ihrem Kundenaccount generiert werden. Der API-Key wird bei jeder Request im Parameter api-token übergeben.

api_token: your-api-token

Domains

Domains auflisten

$lumaserv->domains()->getAll();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domains": [
            {
                "domain": "yourdomain.eu",
                "sld": "yourdomain",
                "tld": "eu",
                "domain_id": 209,
                "ownerHdl": "PERS-10041-114248",
                "adminHdl": "PERS-10041-114248",
                "techHdl": "PERS-10041-114248",
                "zoneHdl": "PERS-10041-114248",
                "ns_1": "ns1.control-interface.com",
                "ns_2": "ns2.control-interface.com",
                "ns_3": null,
                "ns_4": null,
                "ns_5": null,
                "create": "2016-01-09 23:16:04",
                "expire": "2018-01-09 23:16:04",
                "delete": "",
                "zone_id": 794,
                "authcode": null,
                "user": "your-username"
            },
            {
                "domain": "yourdomain.de",
                "sld": "yourdomain",
                "tld": "de",
                "domain_id": 12986,
                "ownerHdl": "PERS-10041-114248",
                "adminHdl": "PERS-10041-114248",
                "techHdl": "PERS-10041-114248",
                "zoneHdl": "PERS-10041-114248",
                "ns_1": "ns1.lumaserv.eu",
                "ns_2": "ns2.lumaserv.eu",
                "ns_3": null,
                "ns_4": null,
                "ns_5": null,
                "create": "2017-08-06 13:14:21",
                "expire": "2018-08-06 13:14:21",
                "delete": "",
                "zone_id": 18489,
                "authcode": null,
                "user": "your-username"
            }
        ]
    }
}

Diese Abfrage gibt alle Ihnen zugewiesenen Domains zurück.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains

Domains suchen

$lumaserv->domains()->searchDomain('%domain.eu', 'your-username');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domains": [
            {
                "domain": "yourdomain.eu",
                "sld": "yourdomain",
                "tld": "eu",
                "domain_id": 209,
                "ownerHdl": "PERS-10041-114248",
                "adminHdl": "PERS-10041-114248",
                "techHdl": "PERS-10041-114248",
                "zoneHdl": "PERS-10041-114248",
                "ns_1": "ns1.control-interface.com",
                "ns_2": "ns2.control-interface.com",
                "ns_3": null,
                "ns_4": null,
                "ns_5": null,
                "create": "2016-01-09 23:16:04",
                "expire": "2018-01-09 23:16:04",
                "delete": "",
                "zone_id": 794,
                "authcode": null,
                "user": "your-username"
            }
        ]
    }
}

Diese Abfrage filtert nach bestimmten Domains und/oder Unterbenutzern. Beide Parameter sind optional und können verschiedene Suchparameter enthalten (z.B. % oder _).

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains

URL Parameters

Parameter Pflicht Description
filter_domain Nein Der Domainname, nach dem gefiltert werden soll
filter_username Nein Der Benutzername, nach dem gefiltert werden soll

Domain registrieren

$lumaserv->domains()->create('yourdomain', 'eu', 'PERS-10041-114248', 'PERS-10041-114248', 'PERS-10041-114248', 'PERS-10041-114248', 'ns1.control-interface.com', 'ns2.control-interface.com');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domain_id": 209,
        "zone_id": 794,
        "domain": "yourdomain.eu",
        "ownerHdl": "PERS-10041-114248",
        "adminHdl": "PERS-10041-114248",
        "techHdl": "PERS-10041-114248",
        "zoneHdl": "PERS-10041-114248",
        "ns_1": "ns1.control-interface.com",
        "ns_2": "ns2.control-interface.com",
        "ns_3": null,
        "ns_4": null,
        "ns_5": null,
        "create": "2017-03-20 17:05:45",
        "expire": "2018-03-20 17:05:45",
        "authcode": null,
        "user": "your-username"
    }
}

Diese Funktion führt eine Registrierung der Domain in Echtzeit durch.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/domains/create

URL Parameters

Parameter Pflicht Description
sld Ja Die SLD der Domain
tld Ja Die TLD der Domain
owner Ja Das Handle des Domaininhaberkontakts
admin Ja Das Handle des administrativen Domainkontakts
tech Ja Das Handle des technischen Domainkontakts
zone Ja Das Handle des Zonenansprechpartners
ns_1 Ja Der Hostname des primären Nameservers
ns_2 Ja Der Hostname des sekundären Nameservers
ns_3 Nein Der Hostname des tertiären Nameservers
ns_4 Nein Der Hostname des quartären Nameservers
ns_5 Nein Der Hostname des quintären Nameservers
years Nein Der Registrierungszeitraum in Jahren

Domain transferieren

$lumaserv->domains()->transfer('yourdomain', 'eu', 'AUTHCODE', 'PERS-10041-114248', 'PERS-10041-114248', 'PERS-10041-114248', 'PERS-10041-114248', 'ns1.control-interface.com', 'ns2.control-interface.com');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domain_id": 209,
        "zone_id": 794,
        "domain": "yourdomain.eu",
        "ownerHdl": "PERS-10041-114248",
        "adminHdl": "PERS-10041-114248",
        "techHdl": "PERS-10041-114248",
        "zoneHdl": "PERS-10041-114248",
        "ns_1": "ns1.control-interface.com",
        "ns_2": "ns2.control-interface.com",
        "ns_3": null,
        "ns_4": null,
        "ns_5": null,
        "create": "2017-03-20 17:05:45",
        "expire": "2018-03-20 17:05:45",
        "authcode": null,
        "user": "your-username"
    }
}

Diese Funktion führt eine Registrierung der Domain in Echtzeit durch.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/domains/create

URL Parameters

Parameter Pflicht Description
sld Ja Die SLD der Domain
tld Ja Die TLD der Domain
authcode Ja Der AuthCode der Domain
owner Ja Das Handle des Domaininhaberkontakts
admin Ja Das Handle des administrativen Domainkontakts
tech Ja Das Handle des technischen Domainkontakts
zone Ja Das Handle des Zonenansprechpartners
ns_1 Ja Der Hostname des primären Nameservers
ns_2 Ja Der Hostname des sekundären Nameservers
ns_3 Nein Der Hostname des tertiären Nameservers
ns_4 Nein Der Hostname des quartären Nameservers
ns_5 Nein Der Hostname des quintären Nameservers

Domainverfügbarkeit prüfen

$lumaserv->domains()->isAvailable('yourdomain', 'eu');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "available": false
    }
}

Die Domain wird bei der zuständigen Registry auf ihre Verfügbarkeit geprüft.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/check

URL Parameters

Parameter Pflicht Description
sld Ja Die SLD der zu prüfenden Domain
tld Ja Die TLD der zu prüfenden Domain

Domaindaten bearbeiten

$lumaserv->domains()->update('yourdomain', 'eu', 'PERS-10041-114248', 'PERS-10041-114248', 'PERS-10041-114248', 'PERS-10041-114248', 'ns1.control-interface.com', 'ns2.control-interface.com', 100);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        "domain_id": 209
    ]
}

Diese Funktion bearbeitet die Daten einer Domain.

HTTP Request

PUT https://partner.lumaserv.com/api/v1/json/domains/update

URL Parameters

Parameter Pflicht Description
sld Ja Die SLD der Domain
tld Ja Die TLD der Domain
owner Ja Das Handle des Domaininhaberkontakts
admin Ja Das Handle des administrativen Domainkontakts
tech Ja Das Handle des technischen Domainkontakts
zone Ja Das Handle des Zonenansprechpartners
ns_1 Ja Der Hostname des primären Nameservers
ns_2 Ja Der Hostname des sekundären Nameservers
zone_id Ja Die Zonen-ID der zugewiesenen Zone
ns_3 Nein Der Hostname des tertiären Nameservers
ns_4 Nein Der Hostname des quartären Nameservers
ns_5 Nein Der Hostname des quintären Nameservers

Domainlöschung eintragen

$lumaserv->domains()->delete('yourdomain', 'eu', '2018-09-01');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Mit dieser Funktion wird die Domain entweder direkt gelöscht oder eine Löschung zum Ende der Laufzeit eingetragen.

HTTP Request

DELETE https://partner.lumaserv.com/api/v1/json/domains/delete

URL Parameters

Parameter Pflicht Description
sld Ja Die SLD der Domain
tld Ja Die TLD der Domain
delete_time Ja Der Zeitpunkt der gewünschten Löschung. Mögliche Werte: "now" für eine direkte Löschung, "expire" für eine Löschung zum Laufzeitende, der Timestamp der Laufzeitende

Domainlöschung aufheben

$lumaserv->domains()->undelete('yourdomain', 'eu');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Mit dieser Funktion wird die eingetragene Löschung einer Domain wieder aufgehoben.

HTTP Request

DELETE https://partner.lumaserv.com/api/v1/json/domains/undelete

URL Parameters

Parameter Pflicht Description
sld Ja Die SLD der Domain
tld Ja Die TLD der Domain

Domainpreise abrufen

$lumaserv->domains()->getPrices();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "ust_inkl": false,
        "prices": {
            "ac": {
                "tld": "ac",
                "create": 46.8,
                "transfer": 46.8,
                "renew": 46.8,
                "ownerchange": 0,
                "update": 0,
                "restore": 0
            },
            "academy": {
                "tld": "academy",
                "create": 26.4,
                "transfer": 26.4,
                "renew": 26.4,
                "ownerchange": 0,
                "update": 0,
                "restore": 0
            }
            ...
        }
    }
}

Die aktuell gültigen Domainpreise aller Domainendungen werden für die verschiedenen Aktionen zurückgegeben

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/prices

URL Parameters

Parameter Standard Pflicht Description
ust_inkl Accounteinstellung Nein Bei "true" beinhalten die zurückgegebenen Preise die gesetzliche MwSt.

Domainkontakte

Domainkontakte auflisten

$lumaserv->domains()->handles()->getAll();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domain_handles": [
            {
                "handle": "PERS-10041-114248",
                "type": "PERS",
                "sex": "MALE",
                "firstname": "Max",
                "lastname": "Mustermann",
                "organisation": "Musterorganisation",
                "street": "Musterstra\u00dfe",
                "number": "123",
                "postcode": "12345",
                "city": "Musterstadt",
                "region": "Bundesland",
                "country": "DE",
                "phone": "+49.00000000000",
                "fax": "+49.00000000000",
                "email": "info@yourdomain.eu",
                "countryofbirth": "DE",
                "idcard": null,
                "idcardauthority": null,
                "idcardissuedate": null,
                "taxnr": null,
                "vatnr": null,
                "dateofbirth": null,
                "placeofbirth": null,
                "regionofbirth": null,
                "registrationnumber": null,
                "ownerDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "adminDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "techDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "zoneDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "user": "your-username"
            }
            ...
        ]
    }
}

Diese Abfrage gibt alle Ihnen zugewiesenen Domainkontakte zurück. In den Feldern ownerDomains, adminDomains, techDomains und zoneDomains werden die Namen aller jeweils zugewiesenen Domains zurückgegeben.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/handles

Domainkontakte suchen

$lumaserv->domains()->handles()->searchHandle('PERS-10041-114248', 'Max', 'Mustermann', 'Musterorganisation', 'your-username');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domain_handles": [
            {
                "handle": "PERS-10041-114248",
                "type": "PERS",
                "sex": "MALE",
                "firstname": "Max",
                "lastname": "Mustermann",
                "organisation": "Musterorganisation",
                "street": "Musterstra\u00dfe",
                "number": "123",
                "postcode": "12345",
                "city": "Musterstadt",
                "region": "Bundesland",
                "country": "DE",
                "phone": "+49.00000000000",
                "fax": "+49.00000000000",
                "email": "info@yourdomain.eu",
                "countryofbirth": "DE",
                "idcard": null,
                "idcardauthority": null,
                "idcardissuedate": null,
                "taxnr": null,
                "vatnr": null,
                "dateofbirth": null,
                "placeofbirth": null,
                "regionofbirth": null,
                "registrationnumber": null,
                "ownerDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "adminDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "techDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "zoneDomains": [
                    {
                        "sld": "yourdomain",
                        "tld": "eu"
                    }
                ],
                "user": "your-username"
            }
        ]
    }
}

Diese Abfrage gibt Ihnen zugewiesenen Domainkontakte zurück. In den Feldern ownerDomains, adminDomains, techDomains und zoneDomains werden die Namen aller jeweils zugewiesenen Domains zurückgegeben.

Es kann nach dem Names des Handles, dem Vor- und Nachnamen, der Organisation und dem Benutzernamen gesucht werden. Keine der Angaben ist erforderlich, es können auch nur einzelne Filter benutzt werden.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/handles

Domainkontakt erstellen

$lumaserv->domains()->handles()->create('PERS', 'MALE', 'Max', 'Mustermann', 'Musterorganisation', 'Musterstraße', '123', '12345', 'Musterstadt', 'Region', 'DE', '+49.00000000000', '+49.00000000000', 'info@yourdomain.eu');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "handle": "PERS-10041-124093"
    }
}

Mit dieser Funktion wird ein neuer Domainkontakt erstellt, welcher im Anschluss mit Domains verbunden werden kann.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/domains/handles/create

URL Parameters

Parameter Pflicht Description
type Ja Der Typ des Kontakts, Mögliche Werte: PERS, ORG, ROLE
sex Ja Das Geschlecht des Kontakts, Mögliche Werte: MALE, FEMALE
firstname Ja Der Vorname des Kontakts
lastname Ja Der Nachname des Kontakts
organisation Nein Die Organisation des Kontakts
street Ja Die Straße des Kontakts
number Ja Die Hausnummer des Kontakts
postcode Ja Die Postleitzahl des Kontakts
city Ja Die Stadt des Kontakts
region Ja Die Region des Kontakts
country Ja Das Land des Kontakts
phone Ja Die Telefonnummer des Kontakts
fax Nein Die Faxnummer des Kontakts
email Ja Die E-Mail des Kontakts
countryofbirth Nein Das Geburtsland des Kontakts
idcard Nein Die Personalausweisnummer des Kontakts
idcardauthority Nein Die austellende Behörde des Personalausweises des Kontakts
idcardissuedate Nein Das Austellungsdatum des Personalausweises des Kontakts
taxnr Nein Die Steuernummer des Kontakts
vatnr Nein Die Umsatzsteuernummer des Kontakts
dateofbirth Nein Das Geburtsdatum des Kontakts
placeofbirth Nein Der Geburtsort des Kontakts
regionofbirth Nein Die Geburtsregion des Kontakts
registrationnumber Nein Die Registernummer einer Organisation

Domainkontakt bearbeiten

$lumaserv->domains()->handles()->update('PERS-10041-124093', '', 'Musterstraße', '123', '12345', 'Musterstadt', 'Region', 'DE', '+49.00000000000', '+49.00000000000', 'info@yourdomain.eu');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "handle": "PERS-10041-124093"
    }
}

Mit dieser Funktion wird ein Domainkontakt bearbeitet.

HTTP Request

PUT https://partner.lumaserv.com/api/v1/json/domains/handles/update

URL Parameters

Parameter Pflicht Description
organisation Nein Die Organisation kann nur bei Kontakten mit dem Typ "PERS" bearbeitet werden
street Ja Die Straße des Kontakts
number Ja Die Hausnummer des Kontakts
postcode Ja Die Postleitzahl des Kontakts
city Ja Die Stadt des Kontakts
region Ja Die Region des Kontakts
country Ja Das Land des Kontakts
phone Ja Die Telefonnummer des Kontakts
fax Nein Die Faxnummer des Kontakts
email Ja Die E-Mail des Kontakts
countryofbirth Nein Das Geburtsland des Kontakts
idcard Nein Die Personalausweisnummer des Kontakts
idcardauthority Nein Die austellende Behörde des Personalausweises des Kontakts
idcardissuedate Nein Das Austellungsdatum des Personalausweises des Kontakts
taxnr Nein Die Steuernummer des Kontakts
vatnr Nein Die Umsatzsteuernummer des Kontakts
dateofbirth Nein Das Geburtsdatum des Kontakts
placeofbirth Nein Der Geburtsort des Kontakts
regionofbirth Nein Die Geburtsregion des Kontakts
registrationnumber Nein Die Registernummer einer Organisation

Nameserver

Nameserver auflisten

$lumaserv->domains()->nameservers()->getAll();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domain_nameservers": [
            {
                "servername": "ns1.control-interface.com",
                "ip": "134.255.240.60",
                "user": ""
            },
            {
                "servername": "ns2.control-interface.com",
                "ip": "212.114.63.205",
                "user": ""
            }
        ]
    }
}

Diese Abfrage gibt alle Ihnen zugewiesenen Nameserver zurück.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/nameservers

Nameserver suchen

$lumaserv->domains()->nameservers()->searchNameserver('ns1.%', '134.255.240.%', 'your-username');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "domain_nameservers": [
            {
                "servername": "ns1.control-interface.com",
                "ip": "134.255.240.60",
                "user": ""
            }
        ]
    }
}

Diese Abfrage filtert nach bestimmten Nameserver, der IP-Adresse und/oder Unterbenutzern. Alle Parameter sind optional und können verschiedene Suchparameter enthalten (z.B. % oder _).

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/nameservers

URL Parameters

Parameter Pflicht Description
filter_servername Nein Der Hostname, nach dem gefiltert werden soll
filter_ip Nein Die IP, nach dem gefiltert werden soll
filter_username Nein Der Benutzername, nach dem gefiltert werden soll

Nameserver erstellen

$lumaserv->domains()->nameservers()->create('ns1.yourdomain.de');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "nameserver_id": 2933
    }
}

Diese Abfrage fügt einen Nameserver hinzu, damit dieser mit Domains verbunden werden kann.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/domains/nameservers/create

URL Parameters

Parameter Pflicht Description
servername Ja Der Hostname des Nameservers

Nameserver aktualisieren

$lumaserv->domains()->nameservers()->refresh('ns1.yourdomain.de');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "nameserver_id": 2933,
        "ip": "134.255.240.60",
        "servername": "ns1.yourdomain.de"
    }
}

Diese Abfrage aktualisiert die IP-Adresse des Nameservers. Dies kann beispielsweise bei Glue-Records notwendig sein.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/nameservers/refresh

URL Parameters

Parameter Pflicht Description
servername Ja Der Hostname des Nameservers

Zonen

Zonen auflisten

$lumaserv->domains()->zones->getAll();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "zones": [
            {
                "id": 794,
                "title": "yourdomain.eu",
                "serial": 2016111231,
                "ns_1": "ns1.control-interface.com",
                "ns_2": "ns2.control-interface.com",
                "ttl": 300,
                "created_at": "2016-11-11 01:15:55",
                "user": "your-username"
            },
            {
                "id": 18489,
                "title": "yourdomain.de",
                "serial": 2017080602,
                "ns_1": "ns1.lumaserv.eu",
                "ns_2": "ns2.lumaserv.eu",
                "ttl": 86400,
                "created_at": "2017-08-06 13:14:10",
                "user": "your-username"
            }
        ]
    }
}

Diese Abfrage gibt Ihnen alle Nameserverzonen zurück.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/zones

Zonen suchen

$lumaserv->domains()->zones->searchZone('%domain.eu', '86400', 'ns1.control-interface.com', 'ns2.control-interface.com', 'your-username');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "zones": [
            {
                "id": 794,
                "title": "yourdomain.eu",
                "serial": 2016111231,
                "ns_1": "ns1.control-interface.com",
                "ns_2": "ns2.control-interface.com",
                "ttl": 300,
                "created_at": "2016-11-11 01:15:55",
                "user": "your-username"
            }
        ]
    }
}

Diese Abfrage filtert nach bestimmten Zonentiteln, der TTL, den beiden Namenservern und/oder Unterbenutzern. Alle Parameter sind optional und können verschiedene Suchparameter enthalten (z.B. % oder _).

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/zones

URL Parameters

Parameter Pflicht Description
filter_title Nein Der Zonentitel, nach dem gefiltert werden soll
filter_ttl Nein Die TTL, nach der gefiltert werden soll
filter_first_ns Nein Der primäre Nameserver, nach dem gefiltert werden soll
filter_second_ns Nein Der sekundäre Nameserver, nach dem gefiltert werden soll
filter_username Nein Der Benutzername, nach dem gefiltert werden soll

Zone erstellen

$lumaserv->domains()->zones()->create('Zonentitel', 86400, [
    [
        'sld' => '@',
        'ttl' => '300',
        'type' => 'A',
        'data' => '127.0.0.1'
    ],
    [
        'sld' => '*',
        'ttl' => '500',
        'type' => 'CNAME',
        'data' => 'yourdomain.de.'
    ]
], 'ns1.control-interface.com', 'ns2.control-interface.com');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "zone_id": 20333,
        "records": [
            {
                "sld": "@",
                "ttl": "300",
                "type": "A",
                "data": "127.0.0.1",
                "zone_id": 20333,
                "updated_at": "2017-11-06 20:56:04",
                "created_at": "2017-11-06 20:56:04",
                "id": 212648,
                "domain_redirect": null
            },
            {
                "sld": "*",
                "ttl": "500",
                "type": "CNAME",
                "data": "vweb01.lumaserv.com.",
                "zone_id": 20333,
                "updated_at": "2017-11-06 20:56:04",
                "created_at": "2017-11-06 20:56:04",
                "id": 212649,
                "domain_redirect": null
            }
        ]
    }
}

Mit dieser Funktion wird eine neue Zone erstellt, welche im Anschluss mit Domains verbunden werden kann.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/domains/zones/create

URL Parameters

Parameter Pflicht Description
title Ja Der Titel, den die Zone tragen soll
ttl Ja Die TTL der Zone, Minimum: 300, Maximum: 604800
ns_1 Ja Der Hostname des primären Nameservers
ns_2 Ja Der Hostname des sekundären Nameservers
records.*.sld Ja Der Name des Zoneneintrags
records.*.ttl Nein Die abweichende TTL eines Zoneneintrags
records.*.type Ja Der Typ des Zoneneintrags, Mögliche Werte: A, AAAA, SRV, CNAME, TXT, MX, PTR, HTTP_FRAME, HTTP_REDIRECT
records.*.data Ja Der Wert bzw. das Ziel des Zoneneintrags

Zonendetails abfragen

$lumaserv->domains()->zones()->detail(20333);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "title": "Testzone",
        "serial": 2017110601,
        "ns_1": "ns1.control-interface.com",
        "ns_2": "ns2.control-interface.com",
        "refresh_time": 43200,
        "retry_time": 7200,
        "expire_time": 1209600,
        "ttl": 86400,
        "created_at": "2017-11-06 20:56:04",
        "records": [
            {
                "id": 212648,
                "sld": "@",
                "ttl": 300,
                "type": "A",
                "data": "127.0.0.1",
                "created_at": "2017-11-06 20:56:04"
            },
            {
                "id": 212649,
                "sld": "*",
                "ttl": 500,
                "type": "CNAME",
                "data": "vweb01.lumaserv.com.",
                "created_at": "2017-11-06 20:56:04"
            }
        ],
        "domains": [
            {
                "id": 209,
                "sld": "yourdomain",
                "tld": "eu",
                "create": "2016-01-09 23:16:04",
                "expire": "2018-01-09 23:16:04"
            }
        ]
    }
}

Diese Funktion erlaubt es alle Details der Zone abzurufen. Dazu gehören allgemeine Informationen, alle gesetzten Einträge und alle verbunden Domains.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/domains/zones/{zone_id}

URL Parameters

Parameter Pflicht Description
zone_id Ja Die ID der abzufragenden Zone

Zoneneinträge hinzufügen

$lumaserv->domains()->zones()->addEntry(20333, 'test', null, 'A', '127.0.0.1');

//Zum Hinzufügen mehrerer DNS-Einträge
$lumaserv->domains()->zones()->addEntries(20333, [
    [
        'test',
        null,
        'A',
        '127.0.0.1'
    ]
]);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "zone_id": 20333,
        "records": [
            {
                "id": 212648,
                "sld": "@",
                "ttl": 300,
                "type": "A",
                "data": "127.0.0.1",
                "created_at": "2017-11-06 20:56:04"
            },
            {
                "id": 212649,
                "sld": "*",
                "ttl": 500,
                "type": "CNAME",
                "data": "vweb01.lumaserv.com.",
                "created_at": "2017-11-06 20:56:04"
            },
            {
                "id": 212702,
                "sld": "test",
                "ttl": null,
                "type": "A",
                "data": "127.0.0.1",
                "created_at": "2017-11-06 23:30:34"
            }
        ]
    }
}

Diese Funktion fügt DNS-Einträge zu einer DNS-Zone hinzu. Im Feld data->records werden alle gesetzten DNS-Einträge zurückgegeben.

HTTP Request

PUT https://partner.lumaserv.com/api/v1/json/domains/zones/{zone_id}/entries

URL Parameters

Parameter Pflicht Description
zone_id Ja Die ID der abzufragenden Zone
records.*.sld Ja Der Name des Zoneneintrags
records.*.ttl Nein Die abweichende TTL eines Zoneneintrags
records.*.type Ja Der Typ des Zoneneintrags, Mögliche Werte: A, AAAA, SRV, CNAME, TXT, MX, PTR, HTTP_FRAME, HTTP_REDIRECT
records.*.data Ja Der Wert bzw. das Ziel des Zoneneintrags

Zoneneinträge löschen

$lumaserv->domains()->zones()->delEntry(20333, 'test', null, 'A', '127.0.0.1', 1);

//Zum Löschen mehrerer DNS-Einträge
$lumaserv->domains()->zones()->delEntries(20333, [
    [
        'test',
        null,
        'A',
        '127.0.0.1'
    ]
]);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "zone_id": 20333,
        "records": [
            {
                "id": 212648,
                "sld": "@",
                "ttl": 300,
                "type": "A",
                "data": "127.0.0.1",
                "created_at": "2017-11-06 20:56:04"
            },
            {
                "id": 212649,
                "sld": "*",
                "ttl": 500,
                "type": "CNAME",
                "data": "vweb01.lumaserv.com.",
                "created_at": "2017-11-06 20:56:04"
            }
        ],
        "deleted_entries": 1
    }
}

Diese Funktion löscht DNS-Einträge von einer DNS-Zone. Im Feld data->records werden alle danach gesetzten DNS-Einträge zurückgegeben.

Im Feld data->deleted_entries wird die Anzahl der gelöschten Einträge zurückgegeben.

Jedes Feld beim Aufruf der PHP-Funktion ist optional. Es werden alle Einträge gelöscht, die auf diese Bedingung zutreffen.

HTTP Request

DELETE https://partner.lumaserv.com/api/v1/json/domains/zones/{zone_id}/entries

URL Parameters

Parameter Pflicht Description
zone_id Ja Die ID der abzufragenden Zone
sld Nein Der Name des Zoneneintrags
ttl Nein Die abweichende TTL eines Zoneneintrags
type Nein Der Typ des Zoneneintrags, Mögliche Werte: A, AAAA, SRV, CNAME, TXT, MX, PTR, HTTP_FRAME, HTTP_REDIRECT
data Nein Der Wert bzw. das Ziel des Zoneneintrags
limit Nein Ein Limit, wie viele DNS-Einträge maximal gelöscht werden sollen

SSL-Zertifikate

Zertifikate auflisten

$lumaserv->ssl_certificates()->getAll();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "id": 19582,
            "name": "*.your-domain.eu",
            "type": "COMODO_POSITIVESSL_WILDCARD",
            "dcv_method": "EMAIL",
            "csr": "-----BEGIN CERTIFICATE REQUEST-----\n ... \n-----END CERTIFICATE REQUEST-----\n",
            "key": "-----BEGIN PRIVATE KEY-----\n ... \n-----END PRIVATE KEY-----\n",
            "crt": "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----\n",
            "ca_crt": "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----\n",
            "period": 12,
            "approver_email": "webmaster@your-domain.eu",
            "admin_firstname": "Max",
            "admin_lastname": "Mustermann",
            "admin_organization": "Musterorganisation",
            "admin_phone": "+49.00000000000",
            "admin_fax": "+49.00000000000",
            "admin_title": null,
            "admin_city": null,
            "admin_country_id": 46,
            "tech_firstname": "Max",
            "tech_lastname": "Mustermann",
            "tech_organization": "Musterorganisation",
            "tech_phone": "+49.00000000000",
            "tech_fax": "+49.00000000000",
            "tech_title": null,
            "tech_city": null,
            "tech_country_id": 46,
            "org_name": null,
            "org_division": null,
            "org_addressline1": null,
            "org_addressline2": null,
            "org_duns": null,
            "org_city": null,
            "org_country_id": null,
            "org_fax": null,
            "org_phone": null,
            "org_postalcode": null,
            "org_region": null,
            "ordered_at": "2017-05-21 02:30:36",
            "valid_from": "2017-05-21 06:00:00",
            "valid_to": "2018-05-22 05:59:59",
            "status": "ACTIVE",
            "user_name": "your-username"
        }
        ...
    ]
}

Diese Abfrage gibt alle Ihnen zugewiesenen SSL-Zertifikate zurück.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/ssl_certificates

Zertifikate suchen

$lumaserv->ssl_certificates()->searchDomain('%.your-domain.eu', 'your-username');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "id": 19582,
            "name": "*.your-domain.eu",
            "type": "COMODO_POSITIVESSL_WILDCARD",
            "dcv_method": "EMAIL",
            "csr": "-----BEGIN CERTIFICATE REQUEST-----\n ... \n-----END CERTIFICATE REQUEST-----\n",
            "key": "-----BEGIN PRIVATE KEY-----\n ... \n-----END PRIVATE KEY-----\n",
            "crt": "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----\n",
            "ca_crt": "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----\n",
            "period": 12,
            "approver_email": "webmaster@your-domain.eu",
            "admin_firstname": "Max",
            "admin_lastname": "Mustermann",
            "admin_organization": "Musterorganisation",
            "admin_phone": "+49.00000000000",
            "admin_fax": "+49.00000000000",
            "admin_title": null,
            "admin_city": null,
            "admin_country_id": 46,
            "tech_firstname": "Max",
            "tech_lastname": "Mustermann",
            "tech_organization": "Musterorganisation",
            "tech_phone": "+49.00000000000",
            "tech_fax": "+49.00000000000",
            "tech_title": null,
            "tech_city": null,
            "tech_country_id": 46,
            "org_name": null,
            "org_division": null,
            "org_addressline1": null,
            "org_addressline2": null,
            "org_duns": null,
            "org_city": null,
            "org_country_id": null,
            "org_fax": null,
            "org_phone": null,
            "org_postalcode": null,
            "org_region": null,
            "ordered_at": "2017-05-21 02:30:36",
            "valid_from": "2017-05-21 06:00:00",
            "valid_to": "2018-05-22 05:59:59",
            "status": "ACTIVE",
            "user_name": "your-username"
        }
        ...
    ]
}

Diese Abfrage filtert nach bestimmten Domains und/oder Unterbenutzern. Beide Parameter sind optional und können verschiedene Suchparameter enthalten (z.B. % oder _).

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/ssl_certificates

URL Parameters

Parameter Pflicht Description
filter_domain Nein Der Domainname, nach dem gefiltert werden soll
filter_username Nein Der Benutzername, nach dem gefiltert werden soll

Zertifikat bestellen (Mit CSR)

$csr = '
-----BEGIN CERTIFICATE REQUEST-----
MIIDCTCCAfECAQAwgZoxCzAJBgNVBAYTAkRFMRowGAYDVQQIFBFCYWRlbi1X/HJ0
dGVtYmVyZzEOMAwGA1UEBxMFQWFsZW4xGTAXBgNVBAoTEExVTUFTRVJWIFN5c3Rl
bXMxCzAJBgNVBAsTAklUMRUwEwYDVQQDEwxsdW1hc2Vydi5jb20xIDAeBgkqhkiG
9w0BCQEWEWluZm9AbHVtYXNlcnYuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAoU3wUz7jKZACoRES2yD0PxCOGtPe4+nopWWNswfgwaxaV1jvtBbm
v/q79s8HIbOkO77/vsykwgpBc3TaRXPVNMGlki8xw+mdMDXXeNK9XWRVoxRVSyKa
S+Jmm4zW66JbNXTy6fUsP/C1kqv7jaTfuHCcDK0A7rSjs5I5tNdMmVUMHnYCDJD6
lgrlathwqn9XfyfAiVIwFaPWOQYoGwY60RurNHjETAdruZ6V36lLdnuKg/aOv0Lg
Hq3UkCDtxAeFkf81u/4CDwby6/WyvSQOU8fA7jrcRdS3+bU2ObT7gyOxHELrFHnQ
sxSk4+1f4lW6RcOGILqZYqChSQArm2IN5wIDAQABoCkwJwYJKoZIhvcNAQkOMRow
GDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG9w0BAQsFAAOCAQEAS7yO
OhKfjb4Qy/xEnr0QgPpf/v/AD4geTBDuiuVdiYFh7zTiyN7umepngiToYt+EkOd+
4HQTm6HKGPG0kjphjFKZPtwFoalcOoLnO2mgB+h6N7FH05VFd+zLgrqqF50Fqabl
p3i2a4EBI1xpaOWkj6ftv+29LKaI6xg7YA7oDJmB8KJl/T4w4Yp9ylhhfbLMqK1l
oSzW/L5bdGvTthxEA9Q3W/fJgc4NYJnrJUBA29Sa2yTFGBHxPTeA1gQgSCIt6A9R
Qv1S1dqgpjgOKAdHfGAf+e0XXFaCi4QaHVY6oZiN0annI7v+fgy1+wIhd3nap2Yb
AcENJMfW4IcZiScHGQ==
-----END CERTIFICATE REQUEST-----
';

$lumaserv->ssl_certificates()->createWithCsr($csr, 'positivessl', 12, 'webmaster@lumaserv.com', 'Jan', 'Waldecker', 'LUMASERV Systems', 'Baden-Württemberg', 'DE', '+49.7361589660', '+49.73615896601', 'info@lumaserv.com', 'Jan', 'Waldecker', 'LUMASERV Systems', 'Baden-Württemberg', 'DE', '+49.7361589660', '+49.73615896601', 'info@lumaserv.com');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "data": {
        "order_id": 19582
    }
}

Diese Abfrage wird eine Bestellung für ein SSL-Zertifikat auslösen. Falls Sie keine eigene CSR übergeben möchten, können Sie auch unsere Funktion verwenden.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/ssl_certificates/create

URL Parameters

Parameter Pflicht Description
csr Ja Die Certificate Signing Request
product_key Ja Der Produktkey für das Zertifikat, beispielsweise "positivessl"
runtime Ja Die Laufzeit des Zertifikats in Monaten
approval_email Ja Die E-Mail für die Bestätigung des Zertifikats
admin_firstname Ja Der Vorname des administrativen Ansprechpartners
admin_lastname Ja Der Nachname des administrativen Ansprechpartners
admin_organization Ja Die Organisation oder Abteilung des administrativen Ansprechpartners
admin_region Ja Die Region des administrativen Ansprechpartners
admin_country Ja Das Land des administrativen Ansprechpartners
admin_phone Ja Die Telefonnummer des administrativen Ansprechpartners
admin_fax Nein Die Faxnummer des administrativen Ansprechpartners
admin_email Ja Die E-Mail des administrativen Ansprechpartners
tech_firstname Ja Der Vorname des technischen Ansprechpartners
tech_lastname Ja Der Nachname des technischen Ansprechpartners
tech_organization Ja Die Organisation oder Abteilung des technischen Ansprechpartners
tech_region Ja Die Region des technischen Ansprechpartners
tech_country Ja Das Land des technischen Ansprechpartners
tech_phone Ja Die Telefonnummer des technischen Ansprechpartners
tech_fax Nein Die Faxnummer des technischen Ansprechpartners
tech_email Ja Die E-Mail des technischen Ansprechpartners

Zertifikat bestellen (Ohne CSR)

$lumaserv->ssl_certificates()->createWithoutCsr($csr, 'positivessl', 12, 'webmaster@lumaserv.com', 'Jan', 'Waldecker', 'LUMASERV Systems', 'Baden-Württemberg', 'DE', '+49.7361589660', '+49.73615896601', 'info@lumaserv.com', 'Jan', 'Waldecker', 'LUMASERV Systems', 'Baden-Württemberg', 'DE', '+49.7361589660', '+49.73615896601', 'info@lumaserv.com');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "data": {
        "order_id": 19582
    }
}

Diese Abfrage wird eine Bestellung für ein SSL-Zertifikat auslösen. Falls Sie eine eigene CSR übergeben möchten, können Sie auch unsere Funktion verwenden.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/ssl_certificates/create

URL Parameters

Parameter Pflicht Description
name Ja Die Domain für die das Zertifikat ausgestellt werden soll
product_key Ja Der Produktkey für das Zertifikat, beispielsweise "positivessl"
runtime Ja Die Laufzeit des Zertifikats in Monaten
approval_email Ja Die E-Mail für die Bestätigung des Zertifikats
admin_firstname Ja Der Vorname des administrativen Ansprechpartners
admin_lastname Ja Der Nachname des administrativen Ansprechpartners
admin_organization Ja Die Organisation oder Abteilung des administrativen Ansprechpartners
admin_region Ja Die Region des administrativen Ansprechpartners
admin_country Ja Das Land des administrativen Ansprechpartners
admin_phone Ja Die Telefonnummer des administrativen Ansprechpartners
admin_fax Nein Die Faxnummer des administrativen Ansprechpartners
admin_email Ja Die E-Mail des administrativen Ansprechpartners
tech_firstname Ja Der Vorname des technischen Ansprechpartners
tech_lastname Ja Der Nachname des technischen Ansprechpartners
tech_organization Ja Die Organisation oder Abteilung des technischen Ansprechpartners
tech_region Ja Die Region des technischen Ansprechpartners
tech_country Ja Das Land des technischen Ansprechpartners
tech_phone Ja Die Telefonnummer des technischen Ansprechpartners
tech_fax Nein Die Faxnummer des technischen Ansprechpartners
tech_email Ja Die E-Mail des technischen Ansprechpartners

Zertifikat stornieren

$lumaserv->ssl_certificates()->requestRefund(19582);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true
}

Diese Abfrage wird die Stornierung eines bereits bestellten SSL-Zertifikats beantragen. Bei erfolgreicher Stornierung wird ein Erfolg zurückgegeben.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/ssl_certificates/{order_id}/requestRefund

Approver-Mails abrufen

$lumaserv->ssl_certificates()->getApproverList('positivessl', 'control-interface.com');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "data": {
        "mails": [
            "info@lumaserv.com",
            "admin@control-interface.com",
            "administrator@control-interface.com",
            "hostmaster@control-interface.com",
            "postmaster@control-interface.com",
            "webmaster@control-interface.com"
        ]
    }
}

Diese Abfrage gibt eine Liste aller möglichen E-Mail-Adressen zurück, die für die Bestätigung eines SSL-Zertifikats verwendet werden können.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/ssl_certificates/approverList

URL Parameters

Parameter Pflicht Description
product_key Ja Der Produktkey für das Zertifikat, beispielsweise "positivessl"
name Ja Die Domain für die das Zertifikat ausgestellt werden soll

KVM-Server

Server bestellen

$lumaserv->virtual_servers()->orderServer(4, 4096, 100, 1, 3, '');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "id": 1846,
        "cores": 4,
        "memory": 4096,
        "disk": 100,
        "addresses_v4": 1,
        "backups": 3,
        "addresses": [
            "127.0.0.1"
        ],
        "password" => "bAm7s7y2X7Lp"
    }
}

Diese Abfrage wird einen KVM-Server bestellen. Als Rückgabe erhalten Sie unter anderem die gebuchten Werte, aber auch die zugewiesenen IP-Adressen des Servers.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/order

URL Parameters

Parameter Pflicht Description
cores Ja Die gewünschten Kerne des Servers
memory Ja Der gewünschten Arbeitsspeicher des Servers
disk Ja Die gewünschten Festplatte (SSD) des Servers
addresses_v4 Ja Die gewünschte Anzahl von IP-Adressen des Servers
backups Ja Die gewünschten Anzahl von Backups des Servers
password Nein Das gewünschte Passwort des Servers

Serverdetails abfragen

$lumaserv->virtual_servers()->single(1846)->getDetails();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "id": 1846,
        "cores": 4,
        "memory": 4096,
        "disk": 100,
        "addresses_v4": 5,
        "backups": 3,
        "addresses": [
            "127.0.0.1"
        ],
        "status": {
            "status": "running",
            "cpu": 0,
            "cpu_limit": 4,
            "mem": 769982464,
            "maxmem": 4294967296,
            "swap": 0,
            "maxswap": 0,
            "disk": 0,
            "maxdisk": 107374182400,
            "netout": 2018420,
            "netin": 384977716,
            "diskread": 11778560,
            "diskwrite": 2416729088,
            "uptime": 286,
            "traffic": 575963136,
            "maxtraffic": 0,
            "installation_state": "RUNNING",
            "installation_percent": 6
        }
    }
}

Diese Funktion fragt den aktuellen Status des Servers ab.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Tasks eines Servers abfragen

$lumaserv->virtual_servers()->single(1846)->getTasks();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "start_time": "2017-11-08 01:06:27",
            "end_time": "2017-11-08 01:06:33",
            "type": "vzcreate",
            "state": "OK"
        },
        {
            "start_time": "2017-11-08 01:06:33",
            "end_time": "2017-11-08 01:06:41",
            "type": "vzstart",
            "state": "OK"
        }
    ]
}

Diese Funktion fragt die Tasks des Servers ab.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/tasks

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Backups eines Servers abfragen

$lumaserv->virtual_servers()->single(1846)->getBackups();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "id": 2457,
            "title": "Example title",
            "size": 593,
            "created_at": "2017-11-05 19:01:32"
        }
    ]
}

Diese Funktion fragt die Backups des Servers ab.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/backups

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

IP-Adressen eines Servers abfragen

$lumaserv->virtual_servers()->single(1846)->getAddresses();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "id": 121,
            "address": "127.0.0.1",
            "bytes_in": "279740416",
            "bytes_out": "3014656",
            "bytes_sum": "282755072"
        }
    ]
}

Diese Funktion fragt die IP-Adressen des Servers ab.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/addresses

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Netzwerke eines Servers abfragen

$lumaserv->virtual_servers()->single(1846)->getNetworks();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "title": "eth0",
            "mac_address": "82:0D:4B:79:5d:52",
            "ipv4_type": null,
            "ipv4_address": null,
            "ipv4_cidr": null,
            "ipv4_gateway": null,
            "ipv4_address_id": 121
        }
    ]
}

Diese Funktion fragt die Netzwerke des Servers ab.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/networks

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Server starten

$lumaserv->virtual_servers()->single(1846)->start();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Diese Funktion startet den Server.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/start

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Server herunterfahren

$lumaserv->virtual_servers()->single(1846)->shutdown();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Diese Funktion fährt den Server herunter.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/shutdown

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Server stoppen

$lumaserv->virtual_servers()->single(1846)->stop();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Diese Funktion stoppt den Server.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/stop

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Server neustarten

$lumaserv->virtual_servers()->single(1846)->restart();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Diese Funktion startet den Server neu.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/restart

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Backup erstellen

$lumaserv->virtual_servers()->single(1846)->createBackup('Example title', 'snapshot');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true
}

Diese Funktion legt eines Backup des virtuellen Servers an.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/createBackup

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
title Nein Der Titel des Backups
mode Nein Der gewünschte Modus des Backups

Server neuinstallieren

$lumaserv->virtual_servers()->single(1846)->reinstall('password', 'DEBIAN_9', false);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true
}

Diese Funktion startet die Neuinstallation eines virtuellen Servers.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/reinstall

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
password Ja Das Passwort des Servers
template Ja Das Betriebssystem des Servers
support_ssh_key Nein Soll der LUMASERV Support SSH Key installiert werden?

Geplante Tasks abfragen

$lumaserv->virtual_servers()->single(1846)->getScheduledTasks();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "type": "createBackup",
            "last_execution": "2017-11-08 01:26:43",
            "next_execution": "2017-11-09 01:26:43",
            "interval": "1 day"
        }
    ]
}

Diese Funktion fragt die geplanten Aufgaben des Servers ab.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/scheduledTasks

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

NoVNC-Console abfragen

$lumaserv->virtual_servers()->single(1846)->getNoVncConsole();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "view": "<!DOCTYPE html>\n<html>\n ... \n<\/html>\n"
    }
}

Diese Funktion fragt eine noVNC-Console ab. Der zurückgegebene HTML-Code kann beispielsweise mittels iFrame angezeigt werden.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/vnc

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

Backup wiederherstellen

$lumaserv->virtual_servers()->single(1846)->restoreBackup(2505);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true
}

Diese Funktion stellt ein Backup auf einem virtuellen Server wieder her.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/backups/restore

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
backup_id Ja Die ID des Backups

Backup löschen

$lumaserv->virtual_servers()->single(1846)->deleteBackup(2505);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true
}

Diese Funktion löscht ein Backup.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/backups/delete

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
backup_id Ja Die ID des Backups

RRD-Informationen abrufen

$lumaserv->virtual_servers()->single(1846)->graphs();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "data": [
                ...
                {
                    "netout": 20276.0275862069,
                    "netin": 5645160.34827586,
                    "maxcpu": 1,
                    "mem": 350525357.1,
                    "time": 1511891520,
                    "maxdisk": 10737418240,
                    "maxmem": 1073741824,
                    "diskread": 164929.324137931,
                    "diskwrite": 5611339.91724138,
                    "cpu": 0.833287904061012,
                    "disk": 0
                },
                {
                    "netin": 582638.43,
                    "time": 1511891580,
                    "mem": 438076484.266667,
                    "maxcpu": 1,
                    "netout": 9699.88333333333,
                    "maxmem": 1073741824,
                    "maxdisk": 10737418240,
                    "diskread": 13.6533333333333,
                    "disk": 0,
                    "diskwrite": 435869.013333333,
                    "cpu": 0.0675046366446473
                },
                {
                    "time": 1511891640
                }
            ]
        }
    ]
}

Diese Funktion liefert RRD-Daten zur CPU-, Arbeitsspeicher-, Netzwerk- und Festplattenauslastung.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/graphs

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
timeframe Ja Folgende Werte sind erlaubt: hour,day,week,month,year
cf Nein Folgende Werte sind erlaubt: AVERAGE,MAX

Geplanten Task erstellen

$lumaserv->virtual_servers()->single(1846)->createScheduledTask('restart', 'hourly')

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "task_id": 19241
    }
}

Diese Funktion erstellt eine geplante Aufgabe, welche regelmäßig nach Ablauf des Intervalls ausgeführt wird.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/scheduledTasks/create

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
action Ja Folgende Werte sind erlaubt: start,restart,shutdown,createBackup
interval Ja Folgende Werte sind erlaubt: hourly,daily,weekly,monthly,yearly
first_execution Nein Datum der ersten Ausführung

Geplanten Task löschen

$lumaserv->virtual_servers()->single(1846)->deleteScheduledTask(19241)

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Diese Funktion löscht eine geplante Aufgabe.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/scheduledTasks/{task_id}/delete

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
task_id Ja Die ID des geplanten Tasks

Konfiguration ändern

$lumaserv->virtual_servers()->single(1846)->reconfigure(12, 65536, 250, 5, 5);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true
}

Diese Funktion ändert die Konfiguration eines virtuellen Servers.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/reconfigure

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers
cores Ja Die gewünschten Kerne des Servers
memory Ja Der gewünschten Arbeitsspeicher des Servers
disk Ja Die gewünschten Festplatte (SSD) des Servers
addresses_v4 Ja Die gewünschte Anzahl von IP-Adressen des Servers
backups Ja Die gewünschten Anzahl von Backups des Servers

Server löschen

$lumaserv->virtual_servers()->single(1846)->deleteServer()

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true
}

Diese Funktion ändert die Konfiguration eines virtuellen Servers.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/servers/virtual/{server_id}/delete

URL Parameters

Parameter Pflicht Description
server_id Ja Die ID des virtuellen Servers

IP-Adressen

rDNS-Eintrag setzen

$lumaserv->addresses()->setRdns('127.0.0.1', 'your-domain.eu')

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": []
}

Diese Abfrage setzt einen rDNS-Eintrag für die übergebene IP-Adresse. Sofern der Eintrag gelöscht werden soll, kann der zweite Parameter null oder ein leerer String sein.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/addresses/single/rdns

URL Parameters

Parameter Pflicht Description
address Ja Die IP-Adresse für den rDNS-Eintrag
rdns Nein Der rDNS-Eintrag

Traffic

Traffic abrufen

$lumaserv->traffic()->getAll('2017-10-01', '2017-11-30', 'monthly');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "bytes_in": "31653109510243",
            "bytes_out": "414812188672",
            "bytes_sum": "58192582194154",
            "date": "2017-10-01"
        },
        {
            "bytes_in": "69333324006578",
            "bytes_out": "497774626406",
            "bytes_sum": "69831098632984",
            "date": "2017-11-01"
        }
    ]
}

Gibt die Trafficdaten eines Zeitraums (optional) zurück. Diese Werte können wahlweise auch nach einem Intervall gruppiert werden. Möglich sind hierbei stündliche, monatliche und jährliche Gruppierungen.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/traffic

URL Parameters

Parameter Pflicht Description
start Nein Der gewünschte Startzeitpunkt
end Nein Der gewünschte Endzeitpunkt
interval Nein Die gewünschte Gruppierung, Mögliche Werte: daily, monthly, yearly

Traffic nach IP-Adresse

$lumaserv->traffic()->getTrafficByAddresses([
    '127.0.0.1'
], '2017-10-01', '2017-10-31');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "bytes_in": "638842916864",
            "bytes_out": "94792415232",
            "bytes_sum": "733635332096",
            "address": "127.0.0.1",
            "date": "2017-10-01"
        }
    ]
}

Gibt den Traffic der übergebenen IP-Adressen gruppiert nach IP-Adresse und optional dem gewünschten Intervall zurück.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/traffic/addresses

URL Parameters

Parameter Pflicht Description
addresses.* Nein Liste der abzufragenen IP-Adressen
start Nein Der gewünschte Startzeitpunkt
end Nein Der gewünschte Endzeitpunkt
interval Nein Die gewünschte Gruppierung, Mögliche Werte: daily, monthly, yearly

DDoS-Angriffe

Alerts auflisten

$lumaserv->ddos_alerts()->getAll($start, $end)

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "id": 2079,
            "duration_start": "2017-10-21 18:12:55",
            "duration_stop": "2017-10-21 18:36:16",
            "resource_misuse_sig": "IP Fragmentation",
            "address": "212.224.80.13"
        }
    ]
}

Diese Abfrage gibt alle DDoS-Angriffe im gegebenen Intervall zurück, die auf Ihre IP-Adressen eingegangen sind. Sofern kein Start- und Endzeitpunkt übergeben wird, werden alle Angriffe zurückgegeben.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/ddos-alerts

URL Parameters

Parameter Pflicht Description
start Nein Der gewünschte Startzeitpunkt
end Nein Der gewünschte Endzeitpunkt

Alerts filtern

$lumaserv->ddos_alerts()->getFilter([
    '127.0.0.1'
], $start, $end)

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": [
        {
            "id": 2079,
            "duration_start": "2017-10-21 18:12:55",
            "duration_stop": "2017-10-21 18:36:16",
            "resource_misuse_sig": "IP Fragmentation",
            "address": "127.0.0.1"
        }
    ]
}

Diese Abfrage gibt alle DDoS-Angriffe im gegebenen Intervall zurück, die auf die übergebenen IP-Adressen eingegangen sind. Sofern kein Start- und Endzeitpunkt übergeben wird, wird der Zeitraum nicht eingeschränkt.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/ddos-alerts

URL Parameters

Parameter Pflicht Description
addresses.* Nein Liste der abzufragenen IP-Adressen
start Nein Der gewünschte Startzeitpunkt
end Nein Der gewünschte Endzeitpunkt

Buchhaltung

Kontoinformationen abrufen

$lumaserv->accounting()->getBalance();

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "balance": 423.71,
        "reserved_amount": 125.01,
        "credit_limit": 1000,
        "credit_left": 1298.7
    }
}

Diese Abfrage gibt Ihnen einen Überblick über Ihren Kontostand, die reservierten Beträge sowie Ihren Verfügungsrahmen.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/accounting/balance

PXE-Installationen

Installation anlegen

$lumaserv->pxe_installations()->create('127.0.0.1', 'AA:AA:AA:AA:AA:AA', 'your-hostname.de', 'DEBIAN_9', 'your-password');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "id": 19363,
        "mac_address": "AA:AA:AA:AA:AA:AA",
        "hostname": "your-hostname.de",
        "password": "your-password",
        "template": "DEBIAN_9",
        "network_name": "eth0"
    }
}

Diese Funktion legt eine neue PXE-Installation für die gegebene Mac-Adresse an. Die Installation wird beim nächsten PXE-Start des Servers automatisch gestartet.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/datacenter/pxe_installations/create

URL Parameters

Parameter Pflicht Description
address Ja Die IP-Adresse des zu installierenden Servers
mac_address Ja Die Mac-Adresse des Servers
hostname Ja Der Hostname des Servers
template Ja Das zu installierende Betriebssystem, Mögliche Werte: DEBIAN_8, DEBIAN_9
password Ja Das Passwort des Servers
support_ssh_key Nein Soll der LUMASERV Support SSH Key installiert werden?
raid_level Nein Raid-Level des Servers, Mögliche Werte: RAID_0, RAID_1, RAID_5
raid_disk_count Nein Die Anzahl der Festplatten im Raid, Pflicht bei Angabe eines Raid-Levels
network_name Nein Der Name des zu verwendenden Netzwerk-Interfaces
commands Nein Array mit Befehlen, die nach der Installation auf dem Server ausgeführt werden sollen

Details einer Installation

$lumaserv->pxe_installations()->getDetail(19363);

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "id": 19363,
        "mac_address": "AA:AA:AA:AA:AA:AA",
        "password": "your-password",
        "hostname": "test.test.de",
        "template": "DEBIAN_9",
        "network_name": "eth0",
        "state": "PENDING",
        "address": "134.255.240.59",
        "state_percent": null
    }
}

Diese Funktion gibt Details zu einer Installation zurück.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/datacenter/pxe_installations/{installation_id}

URL Parameters

Parameter Pflicht Description
installation_id Ja Die ID der Installation

Zahlungen

Zahlungslink erstellen

$lumaserv->payments()->create('SOFORT_TRANSFER', 5, 'Testtransaktion', 'https://yourdomain.eu?status=ok', 'https://yourdomain.eu?status=nok', 'https://yourdomain.eu?status=pn');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "payment_id": "T-10041-1942-9147",
        "url": "https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_express-checkout&token=EC-48DJ19SK57D91KD7A"
    }
}

Diese Methode gibt einen Link zur Zahlungsseite zurück, um Aufladungen auf Ihr Partnerkonto vorzunehmen.

HTTP Request

POST https://partner.lumaserv.com/api/v1/json/payment

URL Parameters

Parameter Pflicht Description
payment_method Ja Die gewünschte Zahlungsmethode, Mögliche Werte: PAYPAL, SOFORT_TRANSFER, PAYSAFECARD
amount Ja Der gewünschte Zahlungsbetrag
mtid Ja Die ID der eingeleiteten Zahlung
ok_urk Ja Die URL nach erfolgreicher Zahlung
nok_url Ja Die URL nach abgebrochener Zahlung
pn_url Ja Die URL zur Zahlungsbenachrichtigung

Zahlungsdetails abrufen

$lumaserv->payments()->detail('T-10041-1942-9147');

Diese Abfrage wird eine wie folgt strukturierte JSON-Antwort zurückgeben:

{
    "success": true,
    "errors": [],
    "data": {
        "payment_id": "T-10041-1942-9147",
        "type": "PAYPAL",
        "amount": 5,
        "ok_url": "https:\/\/yourdomain.eu?status=ok",
        "nok_url": "https:\/\/yourdomain.eu?status=nok",
        "pn_url": "https:\/\/yourdomain.eu?status=pn",
        "mtid": "Testtransaktion",
        "state": "PENDING"
    }
}

Diese Methode gibt die aktuellen Informationen der Zahlung zurück.

HTTP Request

GET https://partner.lumaserv.com/api/v1/json/payment

URL Parameters

Parameter Pflicht Description
mtid Ja Die ID der eingeleiteten Zahlung

Errors

Die API verwendet folgende Error-Codes:

Error Code Meaning
400 Bad Request -- Die Anfrage konnte nicht verarbeitet werden
401 Unauthorized -- Der API-Token ist nicht korrekt
403 Forbidden -- Der Zugriff auf das Objekt wurde verweigert
404 Not Found -- Das Objekt wurde nicht gefunden
405 Method Not Allowed -- Die Methode ist für diesen Pfad unzulässig
406 Not Acceptable -- Das Format der Anfrage ist ungültig
410 Gone -- Die Anfrage wurde abgebrochen
429 Too Many Requests -- Es wurden zu viele Anfragen in zu kurzer Zeit getätigt
500 Internal Server Error -- Es ist ein unerwarteter Fehler aufgetreten
php