Verfügbarkeit, Status und Meldungen
Öffentliche Statusauskunft und Änderungsprotokoll, Kopfzeilen und Fehlerantworten, Betriebsbereich des Betreibers und wie Sie eine Kontoübernahme erkennen.
In einfacher Sprache
Der Dienst prüft seine wichtigen Teile selbst. Dazu gehören die Datenbank, die Ablage und der Mailweg. Eine kurze Auskunft ist ohne Anmeldung lesbar. Eine genaue Auskunft steht im Bereich für den Betrieb. Die Seite erklärt auch das öffentliche Protokoll der Änderungen. Sie zeigt, woran Sie erkennen, dass Ihr Konto zur Betreuung übernommen wurde.
Alle Themen der Dokumentation
XICBOT prüft den Zustand seiner tragenden Teile selbst: Datenbank, Zwischenspeicher, Ablage, Warteschlange, wiederkehrende Läufe, Hintergrunddienst, Mailweg, die Anbindung für das Erzeugen der Antworten und das Datenbankschema. Das Ergebnis gibt es auf zwei Wegen – knapp und ohne Anmeldung über die öffentliche Statusauskunft, ausführlich im Betriebsbereich. Diese Seite beschreibt beide, dazu das öffentliche Änderungsprotokoll, die Kopfzeilen und Fehlerantworten der Schnittstelle und woran Sie erkennen, dass Ihr Konto zur Betreuung übernommen wurde. *Betreiber* meint hier den Betreiber der Plattform, nicht Sie als Betreiber Ihrer Website.
Öffentliche Statusauskunft
Die Statusauskunft ist ohne Anmeldung erreichbar, weil man einen Ausfall gerade dann nachsehen will, wenn die Anmeldung vielleicht nicht geht. Sie antwortet reduziert: Sie erfahren, ob ein Teil trägt, und sonst nichts. Fehlertexte, Tabellennamen, Rechnernamen und Zahlen aus der Warteschlange bleiben im Betriebsbereich.
GET /api/v1/public/status
Liefert den Gesamtzustand und den Zustand jedes der neun Teile. Ein Abruf, der nicht aus dem Zwischenspeicher bedient wird, löst eine echte Schreib-Lese-Probe aus.
- Anmeldung
- Keine
- Begrenzung
- 30 Abrufe je Minute und Herkunft (IPv4 je Adresse, IPv6 je /64), ein Zähler gemeinsam mit Änderungsprotokoll, Abruf einer Demo und Erklärung zur Barrierefreiheit
curl bash
curl -s -w '\nHTTP %{http_code}\n' https://app.xicbot.de/api/v1/public/statusantwort.json json
{
"state": "degraded",
"measured": true,
"parts": [
{ "name": "database", "state": "operational" },
{ "name": "cache", "state": "operational" },
{ "name": "storage", "state": "operational" },
{ "name": "queue", "state": "operational" },
{ "name": "schedule", "state": "operational" },
{ "name": "daemon", "state": "operational" },
{ "name": "mail", "state": "degraded" },
{ "name": "gateway", "state": "operational" },
{ "name": "schema", "state": "operational" }
],
"time": "2026-09-28T08:15:02+00:00"
}
HTTP 503Das Beispiel zeigt einen gestörten Mailweg: Alle Teile wurden gemessen, einer ist nicht in Ordnung, deshalb lautet der Gesamtzustand degraded und der Statuscode 503.
Felder der Antwort
| Feld | Inhalt |
|---|---|
state | Gesamtzustand: operational, degraded oder unknown |
measured | true, wenn jeder Teil gemessen werden konnte, sonst false |
parts | Liste der Teile, je Eintrag name und state |
time | Zeitpunkt der Antwort nach ISO 8601 in UTC |
Zustände und Statuscode
| Wert | Gesamtzustand | Je Teil | Statuscode |
|---|---|---|---|
operational | Jeder Teil wurde gemessen und war in Ordnung. | Gemessen und in Ordnung | 200 |
degraded | Alle Teile gemessen, mindestens einer nicht in Ordnung. | Gemessen, aber nicht in Ordnung | 503 |
unknown | Mindestens ein Teil konnte nicht gemessen werden. | Nicht gemessen | 503 |
Die neun Teile
| Teil | Was geprüft wird | In Ordnung, wenn |
|---|---|---|
database | Eine Probezeile wird geschrieben, gelesen, verglichen und wieder gelöscht. | der gelesene Wert dem geschriebenen entspricht |
cache | Ein Zufallswert wird für 60 Sekunden abgelegt, gelesen und entfernt. | der gelesene Wert dem abgelegten entspricht |
storage | Eine Probedatei wird in die Ablage geschrieben, gelesen und gelöscht. | der gelesene Inhalt dem geschriebenen entspricht |
queue | Wartende, laufende und gescheiterte Aufträge sowie das Alter des ältesten wartenden Auftrags | der älteste wartende Auftrag kürzer als 900 Sekunden wartet und in der letzten Stunde weniger als 20 Aufträge gescheitert sind |
schedule | Die Herzschläge der wiederkehrenden Läufe, jeder mit eigener Frist | kein Lauf überfällig und keiner zuletzt fehlgeschlagen ist |
daemon | Der Herzschlag des Hintergrunddienstes und die Bedienung seiner Bahnen | der Herzschlag frisch ist und keine Bahn einen offenen Auftrag hat, der seit 900 Sekunden oder länger unbedient ist |
mail | Ob ein Versandweg eingerichtet und bereit ist, dazu gescheiterte Zustellungen der letzten Stunde | der Versandweg bereit ist und in der letzten Stunde weniger als 10 Zustellungen gescheitert sind |
gateway | Die Anbindung an den Dienst, der die Antworten der Assistenten erzeugt: Zugangsschlüssel vorhanden, Verbindung angenommen. Eine Antwort wird dabei nicht angefordert. | der Schlüssel vorhanden und die Gegenstelle erreichbar ist |
schema | Ob die erwarteten Tabellen, Spalten und Indizes der Datenbank vorhanden sind | nichts davon fehlt |
Herzschläge des Hintergrunddienstes zählen zum Teil daemon, nicht zu schedule. Hat der Hintergrunddienst noch keinen Herzschlag geschrieben, ist das ein Befund und keine fehlende Messung: Der Teil steht dann auf degraded, nicht auf unknown. Mit der Prüfung von schema fällt eine nicht gelaufene Migration auf, bevor ein Besucher in sie hineinläuft.
Zwischenspeicher und Ausfall der Probe
Das Messergebnis wird 20 Sekunden zwischengespeichert; Abrufe in kürzerem Abstand erhalten dasselbe Ergebnis. time ist der Zeitpunkt der Antwort, nicht der Messung. Der Zwischenspeicher liegt selbst auf der Datenbank – fällt sie aus, wird ohne ihn gemessen, statt die Antwort ganz zu verlieren. Scheitert die Probe als Ganzes, antwortet die Auskunft mit unknown, measured: false und einem einzigen Teil namens total.
Eigene Überwachung anbinden
-
Schritt 1
Adresse abfragen
GET https://app.xicbot.de/api/v1/public/statusohne Anmeldung und ohne Schlüssel aufrufen. -
Schritt 2
Statuscode auswerten
200 heißt in Betrieb. 503 heißt gestört oder nicht gemessen.
-
Schritt 3
Bei 503 die Teile lesen
Teile mit
degradedsind gestört, Teile mitunknownwurden nicht gemessen. -
Schritt 4
Abstand wählen
Mehr als ein Abruf je 20 Sekunden bringt kein neues Messergebnis. Den Zähler von 30 Abrufen je Minute teilen sich Statusauskunft, Änderungsprotokoll, Abruf einer Demo und Erklärung zur Barrierefreiheit; ist er erschöpft, antwortet die Schnittstelle mit 429.
Änderungsprotokoll
Das Änderungsprotokoll liegt als Datei neben dem Code und nicht in der Datenbank: Ein Eintrag beschreibt die Fassung, mit der er ausgeliefert wurde, und ändert sich danach nicht mehr. Wie die Statusauskunft ist es ohne Anmeldung abrufbar.
GET /api/v1/public/changelog
Liefert die Einträge des Änderungsprotokolls, absteigend nach Datum und bei gleichem Datum absteigend nach Fassung.
- Anmeldung
- Keine
- Begrenzung
- 30 Abrufe je Minute und Herkunft, ein Zähler gemeinsam mit Statusauskunft, Abruf einer Demo und Erklärung zur Barrierefreiheit (IPv4 je Adresse, IPv6 je /64)
| Feld | Inhalt |
|---|---|
measured | true, wenn die Datei gelesen werden konnte |
reason | Grund des Ausfalls, sonst null |
version | Fassung des neuesten Eintrags oder null |
entries | Einträge mit version, date, kind, title und points |
kind ist einer der Werte feature, fix, security oder note; ein anderer Wert wird als note ausgegeben. points enthält die Einzelpunkte eines Eintrags als Liste von Texten, leere Punkte fallen weg. Ein Eintrag ohne Fassung, Datum oder Titel wird übergangen.
„Nicht gemessen“ ist kein Ergebnis
„Der Wert ist 0“ und „der Wert wurde nicht ermittelt“ sehen in einer Zahlenspalte gleich aus und bedeuten das Gegenteil. XICBOT hält beides deshalb auseinander: Ein Teil, dessen Messung scheitert, trägt measured: false, value: null und einen Grund in reason mit höchstens 300 Zeichen. Er zählt nicht als in Ordnung, und die Gesamtaussage wird unknown.
Im Betriebsbereich steht ein solcher Teil als Nicht gemessen, darunter der Grund. Lässt sich die Zustandsantwort gar nicht lesen, zeigt die Seite statt der Teile den Hinweis Dieser Wert konnte nicht ermittelt werden und ist deshalb kein Ergebnis.
Kopfzeilen und Fehlerantworten
Jede Antwort, die die Schnittstelle selbst erzeugt, trägt den Kopf X-Konfigurationsstand, Fehlerantworten eingeschlossen. Sein Wert ist ein Hash über die wirksame Konfiguration, kein Inhalt. Zwei Antworten mit gleichem Wert kommen aus demselben Stand; ändert sich der Wert, antwortet ein anderer Stand. So sehen Sie mit einem Aufruf, ob eine Umstellung schon wirkt.
| Status | Körper | Anlass |
|---|---|---|
| 301 | – | Aufruf über HTTP, gleich mit welcher Methode: Der Webserver leitet auf HTTPS um. |
| 403 | {"error":"https_required"} | Nur wenn ein unverschlüsselter Aufruf mit einer anderen Methode als GET oder HEAD die Anwendung selbst erreicht: Ablehnung statt Umleitung. |
| 404 | {"error":"route_unknown"} | Die Adresse unter /api/ gibt es nicht. |
| 405 | {"error":"method_not_allowed","allowed":[…]} | Die Adresse gibt es, aber nicht mit dieser Methode; allowed nennt die zulässigen. |
| 429 | Fehlerantwort mit dem Kopf Retry-After | Eine Drossel ist erschöpft; bei Statusauskunft und Änderungsprotokoll nach 30 Abrufen je Minute und Herkunft. |
| 500 und höher | message: Serverfehler | Interner Fehler; Ausnahme, Datei, Zeile und Aufrufkette werden aus der Antwort entfernt. |
| 503 | Statusauskunft: Zustand mit measured und Teilen; Änderungsprotokoll: measured: false und reason | Statusauskunft nicht in Ordnung oder nicht gemessen, Änderungsprotokoll nicht lesbar |
Über HTTPS ausgelieferte Antworten tragen Strict-Transport-Security: max-age=31536000; includeSubDomains: Der Browser ruft die Adresse samt Unterdomains ein Jahr lang nur verschlüsselt auf. preload ist bewusst nicht gesetzt. Die Seiten der Anwendung und die Antworten unter /api/ tragen zusätzlich diese Kopfzeilen:
| Kopf | Wert | Wirkung |
|---|---|---|
X-Content-Type-Options | nosniff | Der Browser rät keinen Inhaltstyp. |
X-Frame-Options | DENY | Der Browser bettet die Anwendung in keinen Rahmen ein. |
Referrer-Policy | strict-origin-when-cross-origin auf den Seiten, no-referrer unter /api/ | Andere Websites erfahren von den Seiten nur die Herkunft, nicht den Pfad; Antworten der Schnittstelle geben keine Herkunft weiter. |
X-Robots-Tag | noindex, nofollow | Suchmaschinen werden angewiesen, die Anwendung nicht in ihren Index aufzunehmen und den Verweisen nicht zu folgen. |
Betriebsbereich des Betreibers
Der Bereich Betrieb liegt unter https://app.xicbot.de/betrieb und erscheint in der Navigation unter Betreiber. Er steht nur Konten mit dem Betreibermerkmal offen. Das ist ein eigenes Merkmal am Nutzer und keine Rolle: Auch Inhaber und Administratoren eines Mandanten erhalten keinen Zugang, weil sie sonst etwas über andere Mandanten erführen. Unter Betreiber steht außerdem die Blog-Vorschau: Sie zeigt geplante Beiträge des XICBOT-Auftritts vor ihrem Erscheinen und folgt denselben Zugangsregeln. Als Kunde sehen Sie beide Bereiche nicht. Der Betriebsbereich ist hier beschrieben, damit Sie wissen, was der Betreiber über Ihr Konto sieht und was er darin tun kann. Ihre Kontingente sehen Sie unter Pakete und Kontingente. Den aktuellen Zustand der Plattform nennt die öffentliche Statusauskunft weiter oben; die Statusseite fragt diese Auskunft beim Öffnen im Browser ab und zeigt den Zustand mit Messzeit; kommt keine Antwort, steht dort „nicht gemessen“. Darunter erklärt sie, was überwacht wird.
| Methode und Pfad | Inhalt |
|---|---|
GET /api/v1/admin/health | Messung aller Teile mit Messwerten und Dauer in duration_ms; 200 bei gesund, sonst 503 |
GET /api/v1/admin/heartbeats | Herzschläge der wiederkehrenden Läufe |
GET /api/v1/admin/alerts | Offene Meldungen, mit all=1 auch gesehene; bis zu 200 |
POST /api/v1/admin/alerts/{id}/acknowledge | Meldung als gesehen ablegen |
GET /api/v1/admin/jobs | Aufträge der Warteschlange, bis zu 100, filterbar nach status |
POST /api/v1/admin/jobs/{id}/retry | Gescheiterten Auftrag auf wartend zurücksetzen, Versuche auf 0; jeden anderen Stand lehnt die Schnittstelle mit 409 not_failed ab |
GET /api/v1/admin/mail-deliveries | Zustellprotokoll aller Mandanten |
GET /api/v1/admin/plans | Pakete mit ihren aufgelösten Merkmalen |
GET /api/v1/admin/tenants | Mandanten, zuletzt angelegte zuerst, seitenweise 25, mit per_page bis zu 100; die Antwort nennt total, page, pages und per_page. Ohne status fehlen gelöschte Mandanten; status (active, paused, suspended, deleted oder all) und plan grenzen ein, search sucht wörtlich in Name, Kennung und Rechnungs-E-Mail. GET /api/v1/admin/tenants/{id} für einen einzelnen, samt seiner Personen mit second_factor |
PUT /api/v1/admin/tenants/{id} | Paket, Status, Budget und Grenzen eines Mandanten ändern; 409 tenant_deleted bei einem gelöschten Mandanten |
POST /api/v1/admin/tenants/{id}/impersonate | Konto eines Mandanten übernehmen |
GET /api/v1/admin/demos | Demos, die es noch gibt, auch abgelaufene, neueste zuerst, bis zu 100; je Demo Website (host), Anschrift des Interessenten (contact), Frist (expires_at, expired), Stand der Aufnahme (knowledge) und Einbauzeile (snippet), dazu active_max und lifetime_hours |
POST /api/v1/admin/demos | Demo aus url anlegen, freiwillig mit email des Interessenten und language (de oder en); 201 für eine neue, 200 mit existing: true, wenn für dieselbe Website schon eine läuft. Der Deckel je Anschluss des öffentlichen Wegs gilt hier nicht, die Höchstzahl gleichzeitiger Demos schon (503 demo_capacity) |
POST /api/v1/admin/users/{id}/second-factor/reset | Zweite Stufe eines Kundenkontos zurücksetzen; Pflichtfeld reason mit 10 bis 500 Zeichen. Die Antwort nennt sessions_ended und mail_queued; 403 operator_account bei Betreiberkonten, 409 no_second_factor, wenn keine zweite Stufe eingerichtet ist |
GET /api/v1/admin/audit-log | Aktionsprotokoll, neueste zuerst, bis zu 200 Einträge; tenant grenzt auf einen Mandanten ein |
GET /api/v1/admin/integrity | Prüft, ob Löschkatalog, Rechtefelder und Paketschranken zusammenpassen; was nicht gemessen werden konnte, trägt measured: false und einen Grund |
Zustand
Unter Zustand stehen die neun Teile mit In Betrieb, Gestört oder Nicht gemessen; Neu messen löst eine frische Messung aus. Anders als die öffentliche Auskunft liefert die Schnittstelle des Bereichs zu jedem Teil Messwerte. Die Seite nennt bei einem gestörten Teil die Ursache, etwa fehlende Tabellen, unbediente Bahnen oder gestörte Läufe, bei einem nicht gemessenen Teil den Grund. Sie wertet die Antwort auch bei 503 aus. Scheitert das Laden der Seite, steht oben die Fehlermeldung, und statt der Abschnitte erscheint nur der Knopf Erneut laden, der das Laden wiederholt.
| Teil | Messwerte (Auswahl) |
|---|---|
queue | pending, running, failed, failed_1h, oldest_pending_s |
schedule | entries, failed, overdue, last_run_failed |
daemon | last_run_ago_s, deadline_s, workers, lanes, stalled_lanes |
mail | failed_1h, sent_24h, note |
gateway | key, reachable, connect_ms, note |
schema | checked, missing |
Bei schedule fasst failed beide Befunde zusammen; overdue und last_run_failed sagen, welcher es ist. Ein fehlender und ein scheiternder Lauf verlangen verschiedene Handgriffe.
Wiederkehrende Läufe
Jeder wiederkehrende Lauf schreibt einen Herzschlag. Die Tabelle Wiederkehrende Läufe zeigt je Lauf Letzter Lauf, Letzter Erfolg, Frist und den Zustand Überfällig, Letzter Lauf fehlgeschlagen oder In Betrieb. Welche Läufe es gibt, welche Frist jeder hat und welche Meldungen ein Fehlschlag oder ein ausbleibender Lauf erzeugt, beschreibt Herzschlag und Meldungen.
Meldungen
Störungen landen als Meldung unter Meldungen. Jede Meldung trägt einen Schlüssel aus Quelle und Anlass. Tritt dieselbe Störung erneut auf, entsteht keine neue Zeile: Der Zähler count steigt, der Zeitpunkt der letzten Sichtung wird fortgeschrieben, und eine bereits gesehene Meldung gilt wieder als ungesehen. Titel sind auf 200 Zeichen, Texte auf 4000 Zeichen gekürzt.
| Wert | Anzeige | Reihenfolge |
|---|---|---|
critical | Kritisch | zuerst |
warning | Warnung | danach |
info | Hinweis | zuletzt |
Innerhalb derselben Schwere stehen die zuletzt gesehenen Meldungen oben. Ein unbekannter Schwerewert wird als warning gespeichert. Die Quelle erscheint mit ihrer Bezeichnung: Katalog, Übergabe, Wissen, Mailweg, Aufräumen, Warteschlange, Kontingent, Zeitplan, Datenbankschema, Datenschutz oder Webhook.
| Meldung | Quelle | Schwere |
|---|---|---|
| Ein wiederkehrender Lauf ist fehlgeschlagen. | schedule | critical |
| Ein wiederkehrender Lauf ist überfällig. | schedule | critical |
| Aufträge wurden nach 7 Tagen ohne Ausführung beendet. | queue | warning |
| Ein Auftrag ist nach seinem letzten Versuch endgültig gescheitert. | queue | critical |
| Eine E-Mail wurde nicht zugestellt. | mail | warning |
| Tabellen, Spalten oder Indizes fehlen. | schema | critical |
| Ein Schemafehler der Datenbank (1054 Spalte fehlt, 1146 Tabelle fehlt, 1062 doppelter Eintrag, 1091 Index fehlt) | schema | critical |
| Ein Konto hat einem Stand der Unterauftragsverarbeiter widersprochen; je Konto und Stand eine Meldung, mit Grund. Den Widerspruch selbst nennt die Mandantenansicht unter Widersprüche gegen Unterauftragsverarbeiter. | privacy | warning |
Die Liste zeigt offene Meldungen; ist keine offen, steht dort Keine offenen Meldungen. Mit Als gesehen ablegen legt der Betreiber eine Meldung ab. Das wird im Aktionsprotokoll als message.seen festgehalten.
Warteschlange
Die Warteschlange zeigt Aufträge mit Art, Stand und Versuche. Bei einem gescheiterten Auftrag setzt Noch einmal versuchen ihn auf wartend zurück, der Versuchszähler beginnt wieder bei 0; die Aktion steht als job.retry im Aktionsprotokoll.
- Wurden die Nutzdaten eines Auftrags nach dem Scheitern auf Verweise gekürzt, lässt er sich nicht wiederholen: Die Schnittstelle antwortet mit 409
payload_reduced, die Seite mit Nicht wiederholbar: Die Nutzdaten wurden nach dem Scheitern gekürzt. Der Vorgang muss dann neu ausgelöst werden. - Ist ein Auftrag nicht mehr gescheitert, weil ihn inzwischen jemand zurückgestellt hat oder er schon läuft, antwortet die Schnittstelle mit 409
not_failed. Die Seite lädt die Liste dann neu und zeigt Dieser Auftrag lässt sich nicht wiederholen: Er ist nicht mehr gescheitert, sondern wurde inzwischen schon zurückgestellt oder läuft gerade. - Aufträge, die länger als 7 Tage warten oder laufen, werden ohne Ausführung beendet; dazu entsteht eine Warnung der Quelle Warteschlange.
- Gescheiterte Aufträge bleiben bis zur Aufräumung nach 14 Tagen sichtbar.
Wie Aufträge aus Ihrer Sicht entstehen und laufen, steht unter Hintergrundaufträge und Zeitpläne.
Zustellprotokoll
Das Zustellprotokoll umfasst die Nachrichten aller Mandanten. Eine Zeile entsteht, sobald eine Nachricht ausgelöst wird, auch wenn kein Zustellweg eingerichtet ist und sie deshalb nicht hinausgeht. Empfängeradressen sind auf den ersten Buchstaben und die Domain gekürzt, etwa m***@example.com: Für die Frage, ob eine Gegenstelle Nachrichten abweist, genügt die Domain. Ebenso gekürzt stehen Adressen im Grund eines Fehlschlags, in der Meldung zu einer nicht zugestellten E-Mail und im Fehler eines gescheiterten Versandauftrags; die Absage einer Gegenstelle nennt die Adresse oft selbst.
| Stand | Anzeige |
|---|---|
queued | In der Warteschlange |
sent | Zugestellt |
failed | Fehlgeschlagen |
Neben Empfänger zeigt die Liste Mandant, Zugestellt am, Versuche und Anlass. Einen Fehlergrund trägt nur eine gescheiterte Zeile, etwa ungültige Empfängeradresse oder unbekannte Vorlage. Die Schnittstelle filtert nach status, template und tenant und liefert seitenweise 25 Zeilen, mit per_page bis zu 100; die Antwort nennt total, page, pages und per_page.
Mandanten und Grenzen
Unter Mandanten sieht der Betreiber je Mandant Status, Paket, Nutzer, Assistenten (aktiv/gesamt), Gespräche und Verbrauch im Monat, die zuletzt angelegten zuerst und 25 je Seite. Über der Liste steht der gezeigte Bereich mit der Gesamtzahl der Treffer; bei mehr als einer Seite blättern darunter Zurück und Weiter. Das Feld Suche nach Name, Kennung oder Rechnungs-E-Mail sucht wörtlich in diesen drei Angaben, der Filter Status steht zunächst auf alle außer gelöschten, der Filter Paket grenzt auf ein Paket ein. Konto übernehmen steht nur bei aktiven Mandanten, bei den übrigen nennt die Zeile den Status. Der Name führt zur Seite des Mandanten. Sie nennt unter Stammdaten Status, Paket, Kennung, Anlage, Rechnungs-E-Mail, USt-IdNr., die Annahme der Auftragsverarbeitung, die gespeicherten Werte für Datenregion und Modellweg und die Aufbewahrungsfristen je Objektart so, wie sie wirken: Ohne eigene Zahl folgen Test- und Schnittstellengespräche der Frist für alle Gespräche. Bei einem gelöschten Mandanten steht dort statt der Fristen, dass nur noch eine Hülle mit ihrem Protokoll bleibt, die der Wartungslauf nach Ablauf ihrer Frist entfernt. Unter Kontingent stehen der Verbrauch im Monat gegen das Budget, die geltenden Grenzen und die Abweichungen vom Paket. Darunter folgen Grenzen, Nutzer und Assistenten (aktiv/gesamt). Zu den Assistenten stehen dort nur Betriebsangaben wie Einbindung und zuletzt gesehen; die Systemanweisung bleibt beim Kunden.
| Grenze | Feld | Spanne |
|---|---|---|
| Kontextfenster (Nachrichten) | history_window | 2 bis 100 |
| Nachrichtenlänge (Zeichen) | max_input_chars | 200 bis 4000 |
| Fragen je Gespräch (0 = ohne) | max_messages_per_conversation | 0 bis 1000, Startwert 60, 0 heißt ohne Deckel |
| Fragen je Besucher/Minute | visitor_rate_limit_per_min | 0 bis 1000, Startwert 10 |
| Fragen je Besucher/Tag | visitor_rate_limit_per_day | 0 bis 100000, Startwert 200 |
Eine Null schaltet den Deckel je Besucher und den Deckel je Gespräch ab. Grenzen speichern auf der Seite des Mandanten übernimmt die Werte. Die Antwort von GET /api/v1/admin/tenants und die Einzelansicht GET /api/v1/admin/tenants/{id} führen alle fünf Grenzen mit ihrem aktuellen Wert. Bei der Nachrichtenlänge nennen beide und die Antwort auf PUT /api/v1/admin/tenants/{id} den wirksamen Wert: Ein gespeicherter Wert über 4000 wirkt und erscheint dort als 4000, ohne gespeicherten Wert steht dort ebenfalls 4000. Über die Schnittstelle lassen sich zusätzlich das Paket (plan), status (active, paused, suspended) und monthly_token_budget (0 bis 1000000000) setzen. Einen gelöschten Mandanten ändert sie nicht mehr: PUT /api/v1/admin/tenants/{id} antwortet dann mit 409 tenant_deleted, und seine Seite zeigt keine Grenzfelder. Jede Änderung steht mit altem und neuem Wert als tenant.update im Aktionsprotokoll; bei der Nachrichtenlänge hält der Eintrag den gespeicherten Wert fest. Was die Pakete umfassen, steht unter Pakete und Kontingente, die Preise unter Preise.
Zweite Stufe zurücksetzen
Auf der Seite des Mandanten ist die Zahl neben Nutzer ein Schalter: Er klappt die Personen des Mandanten mit Name, E-Mail-Adresse, Rolle, Zweite Stufe (Ja oder Nein) und Aktion auf. Zahl und Liste umfassen alle Mitglieder des Mandanten, auch Personen, die gerade in einem anderen Mandanten arbeiten; Rolle nennt ihre Rolle in diesem Mandanten. Hat jemand das einzige Gerät für die zweite Stufe verloren, lässt sie sich hier zurücksetzen. Bei Kundenkonten mit eingerichteter zweiter Stufe steht unter Aktion der Knopf Zweite Stufe zurücksetzen. Er öffnet die Frage Code und Sicherheitsschlüssel dieser Person entfernen und alle ihre Sitzungen beenden? mit dem Feld Grund (steht im Betreiberprotokoll), mindestens 10 und höchstens 500 Zeichen, und den Knöpfen Zurücksetzen und Abbrechen. Betreiberkonten zeigen statt des Knopfs Betreiberkonto; die Schnittstelle lehnt sie mit 403 operator_account ab.
Zurücksetzen entfernt den Code und alle Sicherheitsschlüssel der Person und beendet alle ihre Sitzungen, auch eine laufende Übernahme. Deren Ende steht wie bei Übernahme beenden als impersonation.end im Aktionsprotokoll und im Protokoll des Mandanten, und sessions_ended in der Antwort zählt sie mit. Danach erscheint Die zweite Stufe ist zurückgesetzt. Eine Sicherheitsmeldung an die Kontoadresse ist unterwegs. Ließ sich die Meldung nicht einreihen, erscheint stattdessen Die zweite Stufe ist zurückgesetzt, die Sicherheitsmeldung ließ sich aber nicht einreihen. Bitte benachrichtigen Sie die Person selbst. Das Zurücksetzen steht mit dem Grund als user.second_factor_reset im Aktionsprotokoll und im Protokoll des Mandanten, in dem die Person gerade arbeitet, als Zweite Stufe durch den Betreiber zurückgesetzt. Kommt einer der beiden Einträge nicht zustande, bleibt die zweite Stufe erhalten; die Schnittstelle antwortet mit 500 und not_logged, und die Seite zeigt Nicht gespeichert: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut. Hat die Person inzwischen keine zweite Stufe mehr, zeigt die Zeile Diese Person hat keine zweite Stufe mehr eingerichtet. Wie die zweite Stufe für die Person selbst funktioniert, steht unter Konto und Sicherheit.
Übernahme eines Kontos
Zur Betreuung kann der Betreiber in das Konto eines Mandanten wechseln. Er trägt einen Grund der Übernahme mit höchstens 200 Zeichen ein und wählt Konto übernehmen. Der Knopf steht nur bei aktiven Mandanten. Übernommen wird das ranghöchste Konto, das gerade in diesem Mandanten arbeitet, in der Reihenfolge Inhaber, Administrator, Bearbeiter, Betrachter; ein Mitglied, das gerade in einem anderen Mandanten arbeitet, zählt dabei nicht mit. Arbeitet gerade kein Konto in dem Mandanten, lehnt die Schnittstelle mit 422 tenant_without_user ab. Wie lange eine Übernahme läuft, was aus ihr heraus gesperrt ist und wie sie protokolliert wird, beschreibt Übernahme durch den Betreiber.
So erkennen Sie eine Übernahme
Eine laufende Übernahme erkennen und beenden Sie in der Geräteliste des übernommenen Zugangs unter Angemeldete Geräte an der Zeile Übernahme durch den Betreiber. Die Einzelheiten stehen unter Übernahme durch den Betreiber, die Geräteliste unter Konto und Sicherheit.
Demos auf Anfrage
Eine Demo richtet der Betreiber ein, wenn ein Interessent sie über das Anfrageformular wünscht. Unter Demos trägt er die Adresse der Website ein, freiwillig die E-Mail-Adresse des Interessenten und die Sprache des Assistenten, und wählt Demo anlegen. Daraus entsteht ein eigener Mandant mit einem Assistenten, der nur aus dieser Website antwortet und sich nur auf ihr einbinden lässt; gelesen wird die Website im Hintergrund. Die Liste darunter zeigt je Demo Website, Interessent, Läuft bis, Wissen mit dem Stand der Aufnahme und die Einbauzeile, die der Betreiber dem Interessenten schickt; zugestellt wird nichts von selbst. Eine Demo läuft 72 Stunden, danach antwortet ihr Assistent nicht mehr, und eine Woche später räumt der Wartungslauf sie ab. Jede neu angelegte Demo steht als demo.create im Aktionsprotokoll. Den öffentlichen Weg POST /api/v1/public/demo gibt es weiterhin, die Website bietet ihn nicht an.
Aktionsprotokoll
Das Aktionsprotokoll hält fest, was der Betreiber im Bereich getan hat: Änderungen an Paket, Status, Budget und Grenzen (tenant.update), wiederholte Aufträge (job.retry), abgelegte Meldungen (message.seen), den Beginn von Übernahmen (impersonation.start), ihr Ende (impersonation.end), zurückgesetzte zweite Stufen (user.second_factor_reset) und angelegte Demos (demo.create). Das Ende einer Übernahme steht dort in der Regel, wenn sie über Übernahme beenden endet, durch Abmelden während der Übernahme, durch die Person selbst unter Angemeldete Geräte oder weil alle Sitzungen des Kontos enden: nach einem neuen Passwort über den Link, beim Zurücksetzen der zweiten Stufe, beim Entfernen aus dem Team oder beim Löschen des Kontos, auch dem einer abgelaufenen Demo. Ebenso steht das Ende dort, wenn das übernommene Konto selbst in einen anderen Mandanten wechselt. Eine Übernahme, die nach vier Stunden von selbst abläuft, hinterlässt keinen Eintrag zum Ende; scheitert der Eintrag beim Beenden, endet die Übernahme trotzdem, und der Ausfall steht nur in der Fehlermeldung des Systems. Unter Wer steht die Adresse des Betreuenden; hat die Kundenseite die Übernahme beendet, steht darunter zusätzlich Vom Kunden beendet, endete sie mit dem Löschen einer abgelaufenen Demo, Beendet beim Löschen der abgelaufenen Demo. Hat ein anderes Konto als das des Betreuenden das Ende ausgelöst, etwa die Person selbst, wer sie aus dem Team entfernt hat oder ein zweiter Betreiber beim Zurücksetzen der zweiten Stufe, steht dort außerdem Ausgelöst von mit der Adresse dieses Kontos. Endete die Übernahme mit einem neuen Passwort über den Link, mit dem Wechsel in einen anderen Mandanten oder mit dem Entfernen aus dem Team, nennt eine weitere Zeile den Anlass, etwa Anlass: das Konto wurde aus dem Team entfernt. Die Seite zeigt die jüngsten 50 Einträge; solange keiner vorliegt, steht dort Keine Aktion protokolliert. Die Schnittstelle liefert bis zu 200 Einträge, neueste zuerst.
Weiterführend
- Grundlagen der Schnittstelle – Anmeldung, Formate, Fehler
- Öffentliche Wege der Schnittstelle – alles, was ohne Anmeldung erreichbar ist
- Grenzen der Schnittstelle – Drosseln und die Antwort 429
- Hintergrundaufträge – Warteschlange aus Kundensicht
- Konto und Sicherheit – angemeldete Geräte und zweite Stufe
Häufige Fragen
Warum meldet die Statusauskunft 503, obwohl mein Assistent antwortet?
Die Auskunft antwortet nur im Zustand operational mit 200. Ist ein einzelner Teil gestört, etwa der Mailweg, oder konnte er nicht gemessen werden, lautet der Code 503, auch wenn Gespräche weiterlaufen. Welcher Teil es ist, steht in parts.
Wie oft darf ich die Statusauskunft abfragen?
Bis zu 30 Abrufe je Minute und Herkunft. Den Zähler teilt sich die Statusauskunft mit dem Änderungsprotokoll, dem Abruf einer Demo und der Erklärung zur Barrierefreiheit. Da das Ergebnis 20 Sekunden zwischengespeichert wird, bringt ein kürzerer Abstand keine neue Messung.
Kann ich den Betriebsbereich mit meinem Inhaberkonto öffnen?
Nein. Der Zugang hängt an einem eigenen Betreibermerkmal und nicht an der Rolle. Ein Kundenkonto erhält 403 not_operator.
Woran erkenne ich, dass der Betreiber mein Konto übernommen hat?
Im übernommenen Konto, dem ranghöchsten, das gerade in Ihrem Mandanten arbeitet, steht unter Angemeldete Geräte dann die Zeile Übernahme durch den Betreiber. Mit Beenden beenden Sie sie; spätestens nach vier Stunden läuft sie von selbst ab.
Warum sind Empfängeradressen im Zustellprotokoll gekürzt?
Die Liste umfasst alle Mandanten, und die Empfänger fremder Mandanten gehen den Betreiber nichts an. Um zu sehen, ob eine Gegenstelle Nachrichten abweist, genügt die Domain.
Selbst fragen, Assistent dieser Website
Automatischer Assistent