Die WEDOS REST API befindet sich noch in Entwicklung. Zugriff und Funktionen können sich ohne vorherige Ankündigung ändern.
Dieser Artikel beschreibt teilweise den WEDOS.protection-Endpoint der WEDOS REST API. WEDOS.protection Domains und Members haben eigene Artikel. Für WEDOS API (WAPI) siehe WAPI – WEDOS Protection.
Grundlegende Informationen zur WEDOS REST API finden Sie im WEDOS REST API Handbuch.
In diesem Artikel finden Sie die folgenden Informationen:
- Zugriff auf den DNS-Endpoint
- Details zum DNS-Endpoint:
- Hinweise
Zugriff auf den WGP-Endpoint
Die WGP HTTP REST API v2 dient zur Verwaltung von Domains, Services und Einladungen zur Mitverwaltung in WEDOS.protection (WGP).
Basis-URL und Authentifizierung
Die Basis-URL für die WGP-Endpoints lautet: https://api.wedos.com/v2
Die Authentifizierung erfolgt ausschließlich über OAuth2: Senden Sie ein gültiges Access-Token im Request-Header (Authorization: Bearer <TOKEN>) mit dem wgp Scope. Ohne gültiges Token liefert die API den Fehler 2000.
Sie können den Parameter example=1 an jeden Endpoint als GET-Parameter anhängen (?example=1 für Endpoints ohne eigene GET-Parameter, sonst &example=1). Die API liefert dann einen Beispiel-curl-Befehl für diesen Aufruf, ohne dass echte Parameter nötig sind. Auch in diesem Modus ist eine gültige Authentifizierung erforderlich.
Übersicht der Endpoints
| Methode | Endpoint | Beschreibung |
|---|---|---|
| GET | /services | Liste Ihrer eigenständigen WGP-Services |
| POST | /services/{service_id}/cache/purge | CDN-Cache leeren |
| POST | /services/{service_id}/renew | Service verlängern |
| POST | /services/{service_id}/template-replicate | Einstellungen von einer Vorlagen-Domain replizieren |
| PATCH | /services/{service_id} | Variante/Abrechnungsperiode des Service ändern |
| DELETE | /services/{service_id} | Service löschen/kündigen |
Antwortformat
Die API-Antwort ist immer ein JSON-Objekt mit den Schlüsseln code (Rückgabecode), msg (Textbeschreibung), request_id (Anfrage-Kennung) und gegebenenfalls data (bei Erfolg zurückgegebene Daten).
Allgemeine Rückgabecodes, die für alle Endpoints gelten (REST-Schicht, unabhängig von der konkreten Operation):
1000– Erfolg (OK)2000– Authentifizierung (OAuth2-Bearer-Token) fehlt oder ist ungültig2004– maximale Anfragegröße überschritten (URL oder Request-Body)4000– unbekannte/nicht unterstützte API-Methode (die aufgerufene Kombination aus HTTP-Methode und Pfad existiert nicht)4001– Eingabevalidierung fehlgeschlagen4005– kein Beispiel für den aktuellen Endpoint im Modusexample=1vorhanden6000– interner Fehler beim Initialisieren des zugrunde liegenden WAPI-Befehls
Darüber hinaus liefert jeder Endpoint eigene fachliche Codes, die für die jeweilige Operation spezifisch sind (entsprechend dem zugrunde liegenden WAPI-Befehl). Diese sind unter Rückgabecodes beim jeweiligen Endpoint aufgeführt.
GET /services
Liefert eine Liste der eigenständigen WEDOS Global Protection Services des angemeldeten OAuth2-Benutzers (direkt als WGP-Service angelegt, Tabelle hosting_wedos_protection).
Parameter:
status– optional, Query – Filter nach einem bestimmten Service-Status (der Wert wird nicht gegen die Statusliste validiert)
Rückgabecodes:
1000– OK
Antwortdaten: Ein Array von Services; jedes Element enthält ID, name, status, expiration.
Beispiel:
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/services?status=active'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": [
{
"ID": 435,
"name": "domain1.tld",
"status": "active",
"expiration": "2027-10-01 00:00:00"
}
]
}
POST /services/{service_id}/cache/purge
Leert den CDN-Cache für eine mit WGP verbundene Domain. Das Ziel kann entweder ein eigenständiger WGP-Service oder eine Domain mit WGP als Add-on-Service sein (hosting_domain); der Service-Typ wird mit dem Parameter service_type festgelegt.
Parameter:
service_id– erforderlich, Pfad – lokale Service-IDservice_type– optional – Service-Typ,hosting_wedos_protection(Standard) oderhosting_domainlimiter_decay– optional, Zahl – Zeit in Sekunden, in der wiederholtes Leeren begrenzt ist; Standard 5limiter_reset– optional, Bool – aktuelle Begrenzung aufheben; Standardfalse
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültiger Parameterwert2406– Domain/Service nicht gefunden2415– der Limiter läuft noch – das Leeren kann derzeit nicht wiederholt werden3223– der Service gehört zu einem anderen Kundenkonto2400– interner Fehler – nicht registrierter Rückgabecode
Antwortdaten:
domain– Domainnamedomain_id– ID der Domain in WGPdomain_tld– TLD der Domainservice_id– Service-IDwedos_client_id– ID des Kunden in WGPlimiter_available_in– in wie vielen Sekunden die Funktion wieder genutzt werden kann (nur für den Fehler2415dokumentiert; die aktuelle Implementierung gibt im Fehlerfall jedoch keinen data-Teil zurück, siehe Hinweise)
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/services/435/cache/purge' \
--data '{"limiter_decay":5,"limiter_reset":0}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"domain_tld": "tld",
"service_id": 435,
"wedos_client_id": 10234
}
}
POST /services/{service_id}/renew
Verlängert den WGP-Service um eine weitere Abrechnungsperiode.
Parameter:
service_id– erforderlich, Pfad – Service-ID
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültiger Parameterwert2152– im aktuellen Status des Service ist eine Verlängerung nicht zulässig2279– das Guthabenkonto ist gesperrt2281– das Guthabenkonto ist nicht aktiv2282– Zahlung vom Guthabenkonto in der angegebenen Währung nicht möglich2283– unzureichendes Guthaben auf dem Guthabenkonto2284– Fehler in den Kontaktdaten des Guthabenkontos2293– Guthabenstand des Guthabenkontos kann nicht ermittelt werden2297– es kann nicht ermittelt werden, ob das Guthabenkonto MwSt. enthält2406– Service nicht gefunden2409– Verlängerung des Service fehlgeschlagen
Antwortdaten:
service_id– Service-IDname– Domainnamedate_from,date_to– Gültigkeitsdaten der neuen Periodefakt_order_num– Bestellnummer der Verlängerungcurrency– Währung des Guthabenkontosprice– Betrag der Verlängerungcredit– Guthabenstand des Guthabenkontos danach (nullbei FREE-/TRIAL-Services)
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/services/435/renew'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"service_id": 435,
"name": "domain1.tld",
"date_from": "2027-10-01",
"date_to": "2028-10-01",
"fakt_order_num": "2026123457",
"currency": "CZK",
"price": 499,
"credit": 502
}
}
POST /services/{service_id}/template-replicate
Repliziert (übernimmt) die Einstellungen einer Vorlagen-Domain auf eine bestehende WGP-Domain bzw. einen bestehenden WGP-Service.
Parameter:
service_id– erforderlich, Pfad – ID des Service, auf den die Einstellungen repliziert werdentemplate_domain_id– erforderlich – ID der Vorlagen-Domain (siehe GET /domains/templates)service_type– optional – Service-Typ,hosting_wedos_protection(Standard) oderhosting_domain
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültiger Parameterwert2401– ungültige Domain für die Replikation2402– ungültige Vorlagen-Domain2403– unterschiedliche Benutzer bei der Domain und der Vorlagen-Domain2404– unterschiedliche Tarife bei der Domain und der Vorlagen-Domain2405– tägliches Replikationslimit erreicht2406– Domain/Service nicht gefunden2407– Vorlagen-Domain nicht gefunden2400– interner Fehler – nicht registrierter Rückgabecode
Antwortdaten:
domain– Domainnamedomain_id– ID der Domainservice_id– Service-IDservice_type– Service-Typtemplate_domain_id– ID der verwendeten Vorlagen-Domainreplications_count– Anzahl der bisher durchgeführten Replikationenreplications_limit– maximal zulässige Anzahl von Replikationen
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/services/435/template-replicate' \
--data '{"template_domain_id":123}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"service_id": 435,
"service_type": "hosting_wedos_protection",
"template_domain_id": 123,
"replications_count": 2,
"replications_limit": 5
}
}
PATCH /services/{service_id}
Ändert die Variante und/oder die Abrechnungsperiode eines bestehenden WGP-Service.
Parameter:
service_id– erforderlich, Pfad – Service-IDnew_variant_id– optional, Zahl – neue Service-Variantenew_period_id– optional, Zahl – neue Abrechnungsperiode
Mindestens einer der Parameter new_variant_id/new_period_id muss angegeben werden.
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültiger Parameterwert2203– ungültiger Wert vonnew_period_id2273– ungültiger Wert vonnew_variant_id2279– das Guthabenkonto ist gesperrt2281– das Guthabenkonto ist nicht aktiv2282– Zahlung vom Guthabenkonto in der angegebenen Währung nicht möglich2283– unzureichendes Guthaben auf dem Guthabenkonto2284– Fehler in den Kontaktdaten des Guthabenkontos2293– Guthabenstand des Guthabenkontos kann nicht ermittelt werden2294– Preis des Service kann nicht ermittelt werden2406– Domain/Service nicht gefunden2408– Parameternew_variant_idodernew_period_idfehlt (keiner von beiden wurde angegeben)2400– interner Fehler – nicht registrierter Rückgabecode
Antwortdaten:
domain– Domainnamedomain_id– ID der Domainwedos_client_id– ID des Kunden in WGPservice_id– Service-IDservice_type– Service-Typvariant_id– aktuelle ID der Service-Variante nach der Änderungperiod_id– aktuelle ID der Abrechnungsperiode nach der Änderungdirty– Flag, das anzeigt, ob tatsächlich eine Änderung erfolgt ist (0= unverändert,1= geändert)
Beispiel:
curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/services/435' \
--data '{"new_variant_id":2,"new_period_id":1}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234,
"service_id": 435,
"service_type": "hosting_wedos_protection",
"variant_id": 2,
"period_id": 1,
"dirty": 1
}
}
DELETE /services/{service_id}
Löscht/kündigt einen WGP-Service auf Wunsch des Kunden.
Parameter:
service_id– erforderlich, Pfad – Service-IDforce– optional, Query, 0/1 – erzwingt die Löschung, auch wenn WGP kein Token zum Umschreiben des DNS zur Verfügung hat (Wiederherstellung der ursprünglichen Werte der A-/AAAA-Einträge)
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2292– die Domain wurde in WGP für dieses Kundenkonto nicht gefunden2400– interner Fehler2410– Service nicht gefunden2411– kein Token zum Umschreiben des DNS verfügbar2412– die API-Anfrage zum Umschreiben des DNS ist fehlgeschlagen2413– der Befehl kann nicht ausgeführt werden, WGP fehlt die Berechtigung, das DNS der Domain zu ändern (force=1erforderlich)2414– es existiert kein Token für WGP und der Parameterforcewurde nicht angegeben3223– der Service gehört zu einem anderen Kundenkonto
Antwortdaten:
domain– Domainnamedomain_id– ID der Domainwedos_client_id– ID des Kunden in WGPservice_id– Service-IDservice_type– Service-Typwdns_data– Array der vorgenommenen Änderungen an DNS-Einträgen (IP-Adressen, die nach der Kündigung nicht mehr über WGP aufgelöst werden)
Beispiel:
curl -X DELETE -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/services/435?force=1'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234,
"service_id": 435,
"service_type": "hosting_wedos_protection",
"wdns_data": []
}
}
Hinweise
- GET /services liefert nur eigenständige WGP-Services. Domains, bei denen WGP als Add-on zu einem anderen Service hinzugefügt ist, stehen nicht in dieser Liste, und es gibt für sie keinen ähnlichen Listen-Endpoint.
- POST /services/{service_id}/cache/purge und POST /services/{service_id}/template-replicate werden direkt über service_id (nicht über die Domain) angesprochen und unterstützen den Parameter service_type, um zwischen einem eigenständigen WGP-Service und einer Domain mit WGP als Add-on zu unterscheiden. Der zugehörige WAPI-Befehl ermittelt die Zugehörigkeit selbst anhand von user_id.
- Bei POST /services/{service_id}/cache/purge erwähnt der Dokumentationskommentar von cmd_purge_cache() in den Antwortdaten für den Fehler 2415 zusätzlich das Feld limiter_available_in; die aktuelle Implementierung gibt in diesem Fall jedoch nur den reinen Fehlercode ohne data-Teil zurück – das Feld erscheint also in der Antwort tatsächlich nicht.
