REST API v1

Eine API für deine LXI Dienste.

Basis-URL https://lxi.be/api/v1. Antworten sind JSON und enthalten bei Fehlern eine Request-ID.

Authentifizierung

Bearer-Token mit passenden Rechten

Erstelle dein Token im Kundencenter oder melde die CLI per Browser an. Sende das Token im Authorization-Header; es wird nur beim Erstellen vollständig angezeigt.

Authorization: Bearer lxi_live_…

Verfügbar sind read, domains, hosting, billing, ai, maker und webhooks. Lesen ist in jedem Token enthalten. Details stehen im Authentifizierungsleitfaden.

Endpunkte

API v1 im Überblick

Konto und Abrechnung

GET/accountKonto
GET/usageNutzung und Limits
GET/servicesAlle Dienste
GET/orders/{id}Bestellungen

Domains, Hosting und E-Mail

GET/domainsDomains auflisten
POST/domains/checkVerfügbarkeit und Angebot
POST/domains/ordersDomainkauf starten
GET · POST/hosting/sitesWebsites auflisten oder bereitstellen
GET · POST/domains/{id}/dnsDNS-Records verwalten
PATCH · DELETE/domains/{id}/dns/{record}DNS-Record ändern oder löschen
GET · POST/domains/{id}/mailboxesPostfächer verwalten
PATCH · DELETE/domains/{id}/mailboxes/{mailbox}Postfach ändern oder löschen

KI, Maker und Events

POST/chat/completionsKI-Chat, optional als SSE-Stream
POST/translationsText übersetzen
GET · POST/maker/projectsMaker-Projekte
GET · POST/webhooksSignierte Events konfigurieren

Parameter, Request-Schemas, Response-Formate und alle Statuscodes stehen vollständig in der OpenAPI-3.1-Spezifikation.

Asynchrone Änderungen

Provisionierung über Aufträge verfolgen

Hosting-, DNS- und Postfachänderungen antworten mit 202 Accepted und einem Job-Objekt. Frage GET /hosting/jobs/{job_id} ab, bis der Status completed oder failed lautet. Alternativ informierst du dich per Webhook.

{
  "job": {"id": 1842, "type": "sync_dns_records", "status": "queued"}
}

Server-Sent Events

Chat-Antworten streamen

Setze stream auf true. Die API liefert text/event-stream mit chat.completion.chunk-Objekten und beendet den Stream mit [DONE].

curl -N https://lxi.be/api/v1/chat/completions \
  -H "Authorization: Bearer $LXI_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"stream":true,"messages":[{"role":"user","content":"Hallo"}]}'

Zuverlässigkeit

Idempotenz, Limits und Request-IDs

Für zahlungspflichtige Käufe ist Idempotency-Key erforderlich. Wiederholte Requests mit demselben Schlüssel liefern dieselbe Bestellung. Ratenlimits antworten mit 429. Jede Antwort trägt X-Request-Id; gib diese ID bei Supportanfragen an.

API-Tokens sollten je Umgebung getrennt und nur mit den Scopes read, domains, hosting, billing, ai, maker oder webhooks ausgestattet werden, die wirklich benötigt werden.

curl-Beispiele

Sofort ausprobieren

Domain prüfen

curl https://lxi.be/api/v1/domains/check \
  -H "Authorization: Bearer $LXI_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain":"beispiel.de"}'

Chat

curl https://lxi.be/api/v1/chat/completions \
  -H "Authorization: Bearer $LXI_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"Erkläre DNS kurz."}]}'

Übersetzen

curl https://lxi.be/api/v1/translations \
  -H "Authorization: Bearer $LXI_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"Guten Morgen","source_language":"de","target_language":"en"}'

Fehlerformat

Vorhersehbar behandeln

{
  "error": {
    "code": "invalid_token",
    "message": "…",
    "request_id": "req_…"
  }
}

Die API nutzt 400 für ungültiges JSON oder abgelaufene Grants, 401 für Authentifizierung, 403 für fehlende Rechte, 404 für fremde oder unbekannte Ressourcen, 409 für Zustandskonflikte, 422 für ungültige Eingaben, 428 für ausstehende Gerätefreigaben, 429 für Ratenlimits und 5xx für vorübergehende Dienstfehler.