Die API verließ die Beta am zweiten Juli. Sie wurde mit Plattform-Release 5.4 im Juni ausgeliefert, lief als Einladungs-Beta seit Februar mit etwas mehr als vierhundert Konten darauf und hat ihre Form seit April nicht geändert. Versioniert, dokumentiert und durch dieselbe Verfügbarkeitszusage abgedeckt wie das Panel.
Sie als spät zu bezeichnen, wäre großzügig. Der Grund ist nicht mysteriös: Ein Interface, das auf einem Provisioning-System sitzt, das dreieinhalb Minuten braucht, um einen Server zu bauen, wäre ein Interface zum Abfragen eines Spinners gewesen. Wir haben zuerst die Queue neu geschrieben, 2025, und die Reihenfolge war beabsichtigt und nicht glücklich.
Was sie tut
| Gruppe | Was du tun kannst | Hinweise |
|---|---|---|
| Instanzen | Erstellen, umziehen, neu aufbauen, Snapshot, wiederherstellen, löschen | Größenänderung nach oben ist live, nach unten braucht einen Neustart |
| Images | OS-Katalog auflisten, eigenes ISO per URL registrieren | Benutzerdefinierte ISO-Installationen sind weiterhin manuell und weiterhin langsam |
| Netzwerk | IPv4 hinzufügen, Reverse-DNS bearbeiten, IPv6 /48 anfordern | Delegiert, niemals proxied |
| Filterung | Angriffsereignisse lesen, Layer-7-Regeln bei DDoS Pro einrichten | Basisfilter hat nichts zu konfigurieren |
| Abrechnung | Guthaben lesen, Rechnungen auflisten, Aufladungsrechnung öffnen | Keine Kartenfelder, weil es keine Karten gibt |
| Ereignisse | Ereignisprotokoll abfragen oder Webhook registrieren | Signiert mit einem pro-Konto-Geheimnis |
Alles ist JSON über HTTPS, und jedes Objekt, das das Panel dir zeigen kann, ist ein Objekt, das die API zurückgeben kann. Es gibt keine Funktionsebene, die der Weboberfläche vorbehalten ist, was ein Versprechen ist, das uns etwas kostet: Das Panel nutzt jetzt dieselben öffentlichen Endpunkte wie du, also ist eine kaputte API ein kaputtes Panel, und wir merken das sofort.
Authentifizierung
Tokens werden im Panel erstellt, mit Berechtigungen versehen und genau einmal angezeigt. Keine Passwort-Authentifizierung, keine Session-Cookies, keine Weiterleitung an einen Identitätsanbieter, dem wir dann etwas anvertrauen müssten, worauf wir erheblichen Aufwand verwendet haben, es nicht zu sammeln.
Ein Token trägt eine Berechtigung von read, write oder billing, eine optionale Einschränkung auf eine einzelne Site, eine optionale Einschränkung auf eine Liste von Instanzen und ein Ablaufdatum, das du festlegst. Sechzig Tage sind die Standardeinstellung. Tokens können einzeln widerrufen werden, und der Widerruf ist am Edge innerhalb von zwei Sekunden wirksam, was wichtiger ist, als es klingt, wenn ein Build-Server von jemandem neu aufgebaut wird, der nicht wusste, was darauf war.
Da ein Konto hier eine E-Mail-Adresse und ein Passwort-Hash ist, gibt es kein Kundendaten-Objekt, das abgerufen werden kann. Die API hat kein Namensfeld, kein Adressfeld, kein Firmenfeld und kein Steuerfeld, aus genau dem Grund, aus dem das Anmeldeformular keins hat.
Rate-Limits, Idempotenz, Fehler
Sechshundert Lesevorgänge pro Minute und sechzig Schreibvorgänge, gezählt pro Token statt pro Konto, sodass ein lautes Skript den Rest deiner Automatisierung nicht aushungern kann. Limits werden in den Headern jeder Antwort zurückgegeben, auch bei erfolgreichen.
Jeder Schreibvorgang akzeptiert einen Idempotenz-Schlüssel. Wenn du eine Erstellung mit demselben Schlüssel wiederholst, erhältst du die ursprüngliche Instanz zurück und nicht eine zweite, die daneben abgerechnet wird. Das ist die einzige Funktion, für die sich Beta-Tester am meisten bedankten, was etwas darüber aussagt, wie der Rest der Branche mit einem Timeout während der Provisionierung umgeht.
Fehler sind ein dokumentierter Maschinencode, ein Satz, den ein Mensch lesen kann, und eine Anfragekennung. Füge die Kennung in ein Ticket ein, und der Support kann dieselbe Anfrage sehen, die du gesehen hast, ohne dass du sie reproduzieren musst.
Was sie bewusst nicht tut
- Kein Fiat, niemals. Abrechnungsendpunkte lesen dein Guthaben und öffnen eine Aufladungsrechnung. Die Abwicklung bleibt bei OxaPay und der von dir gewählten Chain, genau wie auf der Zahlungsseite beschrieben.
- Keine Unterkonten oder Rollen. Ständig angefragt. Nicht gebaut, weil die naheliegende Implementierung bedeutet, eine Struktur darüber zu halten, wer für wen arbeitet, und wir lieber bereichsbeschränkte Tokens ausliefern, die ablaufen, und dir dein Organigramm selbst überlassen.
- Kein Autoscaling. Instanzen sind dedizierte Kerne auf echtem Silizium, kein Pool, den wir herbeizaubern können. Du kannst nach eigenem Zeitplan erstellen und löschen; wir werden nicht so tun, als läge darunter eine elastische Abstraktion.
- Keine SDK-Matrix. Ein Referenz-Client und schlichtes HTTP als Vertrag. Sechs halb gepflegte Sprachbindungen würden schlechter altern als die Dokumentation.
Was wir gerne kaputt fänden
Die Beta fand neun Fehler, die es wert waren, behoben zu werden, von denen drei auf interessante Weise unsere waren und sechs die Dokumentation, die log. Wenn du einen zehnten findest, ist der Missbrauch eines Rate-Limits beim Testen in Ordnung und erwartet, und der Support hätte lieber die Anfragekennung als einen Screenshot.
Referenz unter der Dokumentation. Das Changelog für Release 5.4 listet die sieben Endpunkte auf, die ihre Form zwischen Februar und April geändert haben, und das sind die einzigen Breaking Changes in Version eins.