API¶
Die HostAdmin REST API ermöglicht den programmatischen Zugriff auf alle wesentlichen Ressourcen des Systems.
Authentifizierung¶
Die API verwendet Service Accounts mit Sanctum-Tokens. Jeder Token ist an einen Service Account gebunden und trägt eine Teilmenge dessen Berechtigungen.
Service Accounts und Tokens werden in der Admin-Oberfläche unter System > Service Accounts verwaltet (siehe Anleitung).
Pro Integration ein eigener Account
Lege je Konsument (Webfaktbridge, n8n, MCP-Client, …) einen eigenen Service Account an. Bei Leak oder Wechsel kann genau dieser eine widerrufen werden, ohne andere Integrationen zu stören.
Schnittstellen-Schalter¶
Jeder Service Account aktiviert separat REST API und/oder MCP. Für die REST-API muss allow_rest = true sein — für MCP entsprechend allow_mcp = true.
Berechtigungen (Abilities)¶
| Ability | Wirkung |
|---|---|
read |
Lesen aller Ressourcen (GET) |
write |
Anlegen / Ändern / Löschen (POST, PUT, PATCH, DELETE) |
admin |
Vollzugriff (impliziert read + write) |
Ein Token kann nur Abilities tragen, die der zugehörige Service Account erlaubt. Die Endpoint-Tabellen weiter unten zeigen, welche Ability für welchen Aufruf nötig ist.
HTTP-Statuscodes der Auth-Schicht¶
| Status | Bedeutung |
|---|---|
401 Unauthenticated |
Kein Token, ungültiger Token, abgelaufener Token, deaktivierter / gelöschter Service Account |
403 Forbidden |
Token gültig, aber Schnittstelle nicht freigegeben (allow_rest = false) oder erforderliche Ability fehlt |
Basis-URL¶
Stripe Webhook
Der Stripe Webhook verwendet einen eigenen Prefix und ist unter /api/stripe/webhook erreichbar. Er nutzt keine Service-Account-Auth, sondern Stripe-Signaturprüfung.
Verfügbare Ressourcen¶
| Ressource | Endpunkt | Beschreibung |
|---|---|---|
| Customers | /api/w5t/customers |
Kundenverwaltung |
| Service Definitions | /api/w5t/service-definitions |
Service-Vorlagen / Produkte |
| Customer Services | /api/w5t/customer-services |
Kunden-Services |
| Servers | /api/w5t/servers |
Serververwaltung |
| Invoices | /api/w5t/invoices |
Rechnungen |
| Payments | /api/w5t/payments |
Zahlungen |
| Stripe Webhook | /api/stripe/webhook |
Stripe Event-Verarbeitung |
Erforderliche Abilities pro HTTP-Methode¶
| Methode | Abilities |
|---|---|
GET |
read (oder admin) |
POST, PUT, PATCH, DELETE |
write (oder admin) |
Antwortformat¶
Alle Antworten werden als JSON zurückgegeben.
Erfolgreiche Erstellung (201):
Erfolgreiche Aktualisierung (200):
Validierungsfehler (422):
Auth-Fehler (401 / 403):
Upsert-Verhalten¶
Die POST-Endpunkte (store) verwenden eine Upsert-Logik: Wird ein Datensatz mit dem gleichen eindeutigen Schlüssel gefunden, wird er aktualisiert statt neu erstellt.
| Ressource | Upsert-Schlüssel |
|---|---|
| Customers | customer_number |
| Service Definitions | article_number |
| Customer Services | service_number |
| Servers | server_number |
| Invoices | invoice_number |
| Payments | payment_reference |