Zum Hauptinhalt springen

Fehler

Dies ist die vollständige Fehlerliste der Kaleidr-Plattform-API. Jeder Fehler hat einen HTTP-Status und einen Code: eine kurze, stabile Zeichenfolge, anhand derer Ihr Programm entscheiden kann. Der Status allein reicht nicht aus. 403 hat viele mögliche Ursachen, und 429 bedeutet sowohl „langsamer senden“ als auch „Kontingent aufgebraucht“.

Beginnen Sie mit den Antwortformaten, denn der Code steht nicht immer im selben Feld.

Antwortformate​

FormatBeispielVerwendung
Eingepackter Code{"detail": "origin_not_allowed"}Fast alle Fehler 401, 403, 404, 413, 500 und 503, die 422-Anfragelimit-Codes sowie zwei 429-Fehler (map_load_quota_exceeded und ingest_rate_limited aus der Upload-API). Der Code ist die Zeichenfolge in detail.
Flaches Objekt{"error": "rate_limited", "detail": "API key rate limit exceeded. Slow down."}Alle übrigen 429-Fehler. Der Code steht in error; detail enthält einen für Menschen bestimmten Satz. Kontingentfehler enthalten weitere Felder.
Validierungsliste{"detail": [{"loc": ["body", "product"], "msg": "…", "type": "…"}]}422 bei fehlerhaftem Anfragekörper oder fehlerhafter Abfrage. detail ist ein Array mit einem Eintrag pro Problem.
Fehler bei 200{"error": "Route planning failed."}Nur POST /chat/control/route. Siehe unten.

Eine Funktion, die den Code aus allen Formaten ausliest:

async function kaleidrError(res) {
const body = await res.json().catch(() => ({}));
const code =
typeof body.error === 'string' ? body.error : // flat 429
typeof body.detail === 'string' ? body.detail : // wrapped code
Array.isArray(body.detail) ? 'validation_error' : // 422
'unknown_error';
return { status: res.status, code, body, retryAfter: Number(res.headers.get('retry-after')) || null };
}

Zwei Header sind wichtig: Retry-After bei 429-Antworten mit einer Wartezeit in Sekunden und, falls vorhanden, X-Request-Id zur Identifikation der Anfrage bei einer Supportanfrage.

Authentifizierung: 401​

Die API akzeptiert die Anmeldedaten nicht.

CodeWann er auftrittVorgehensweise
Invalid or missing API keyEs wurden keine Anmeldedaten gesendet, oder der Schlüssel ist unbekannt, widerrufen oder abgelaufen. Ebenfalls möglich: ein abgelaufenes Sitzungstoken; eine Sitzung, deren Schlüssel widerrufen oder ohne Übergangsfrist rotiert wurde; eine Sitzung, deren Ursprung oder Produkt aus dem Schlüssel entfernt wurde; eine vor einer Tarifherabstufung ausgestellte Sitzung; eine gesperrte Organisation oder eine Organisation ohne Tarif.Prüfen Sie den Schlüssel und seinen Status unter kaleidr.com/api-keys. Tauschen Sie für eine Sitzung das Token erneut aus. Schlägt ein gültiger Schlüssel weiterhin fehl, versuchen Sie es kurz darauf erneut: Auch eine vorübergehende Plattformstörung kann diesen Fehler auslösen.
publishable_requires_sessionEin veröffentlichbarer Schlüssel (kld_pk_…) wurde an einen Laufzeit-Endpunkt gesendet.Lassen Sie das SDK den Schlüssel im Browser austauschen oder rufen Sie zuerst POST /sdk/sessions auf. Verwenden Sie auf dem Backend einen Serverschlüssel.

Autorisierung: 403​

Die API erkennt die Anmeldedaten, lehnt diese Anfrage aber ab.

CodeWann er auftrittVorgehensweise
insufficient_scopeDer Schlüssel wurde ohne die Berechtigung erstellt, die dieser Endpunkt oder dieses Produkt benötigt.Verwenden Sie einen Schlüssel mit der Berechtigung. Bestehende Schlüssel können keine zusätzlichen Berechtigungen erhalten.
tier_capability_not_allowedDer Schlüssel verfügt über die Berechtigung oder das Produkt, aber der aktuelle Tarif Ihrer Organisation enthält es nicht. Dieser Fehler wird auch bei einer veröffentlichten Karte zurückgegeben, wenn der Tarif des Eigentümers keinen Chat enthält. Für vendor gilt dies nicht: Ein Schlüssel mit vendor wird in einem Tarif unter Enterprise nicht abgewiesen; seine Antworten werden jedoch ohne Ihre Daten erstellt.Wechseln Sie den Tarif oder verwenden Sie ein im Tarif enthaltenes Produkt.
server_key_in_browserEin Serverschlüssel (kld_sk_…) wurde mit einem Origin-Header gesendet.Verlegen Sie den Aufruf auf Ihr Backend. War der Schlüssel im Seitenquelltext sichtbar, rotieren Sie ihn.
session_origin_mismatchEin Sitzungstoken wurde von einem anderen Ursprung als dem Ausstellungsursprung verwendet, oder eine Sitzung einer veröffentlichten Karte wurde ohne Origin verwendet.Tauschen Sie die Sitzung auf der Seite aus, auf der sie verwendet werden soll.
ip_not_allowedEin Server- oder Legacy-Schlüssel mit IP-Zulassungsliste wurde von einer nicht zugelassenen Adresse aufgerufen, oder die Absenderadresse konnte nicht festgestellt werden.Senden Sie den Aufruf von einer zugelassenen Adresse oder ändern Sie allowed_ips des Schlüssels.
publishable_key_requiredPOST /sdk/sessions wurde mit einem Server- oder Legacy-Schlüssel aufgerufen.Verwenden Sie einen veröffentlichbaren Schlüssel für den Austausch.
origin_requiredBeim Sitzungsaustausch fehlte der Origin-Header.Führen Sie den Austausch von einer Browserseite aus.
origin_not_allowedDer Ursprung der Seite steht nicht in der Liste der erlaubten Ursprünge des Schlüssels oder nicht in den erlaubten Domains der veröffentlichten Karte.Fügen Sie den genauen Ursprung dem Schlüssel oder die Domain der Karte hinzu.
product_not_allowedDer Schlüssel ist auf bestimmte Produkte beschränkt, und diese Anfrage betrifft ein anderes Produkt. Beim Sitzungsaustausch: Das angeforderte product gehört nicht zu den erlaubten Produkten des veröffentlichbaren Schlüssels. Zur Laufzeit: Ein Server- oder Legacy-Schlüssel hat einen Endpunkt eines nicht zugelassenen Produkts aufgerufen, etwa wenn ein auf tile beschränkter Schlüssel /chat/* aufruft.Ändern Sie allowed_products oder verwenden Sie einen anderen Schlüssel.
chat_disabledAustausch für eine veröffentlichte Karte: Die Kaleidr AI der Karte aktiviert die angeforderte Funktion nicht.Aktivieren Sie Control Tower oder Popup Window in der Kachel Kaleidr AI der Karte in Studio.
feature_not_grantedEine für Popup-Chat geöffnete Sitzung einer veröffentlichten Karte wurde auf /chat/control/stream verwendet. Jede Funktion hat ihre eigene Sitzung.Tauschen Sie eine Sitzung mit "feature": "control_tower" ein, die die Karte gewährt, solange Control Tower aktiviert ist.
owner_has_no_organizationAustausch für eine veröffentlichte Karte: Der Eigentümer der Karte hat keine Organisation, der die Kosten zugerechnet werden können.Der Eigentümer muss eine Organisation erstellen oder ihr beitreten.

Nicht gefunden: 404​

CodeWann er auftrittVorgehensweise
not_foundAustausch für eine veröffentlichte Karte: Es existiert keine veröffentlichte Karte und kein Freigabelink mit dieser share_id.Prüfen Sie die ID und ob die Karte veröffentlicht ist.
sessions_disabledDer Sitzungsaustausch ist auf der Plattform abgeschaltet.Das können Sie nicht selbst ändern. Kontaktieren Sie den Support.
Not FoundDer Pfad existiert nicht.Vergleichen Sie die URL mit den Endpunkten, einschließlich des Präfixes /inference-api/b2b/v1.

Validierung: 422​

Der Anfragekörper oder die Abfragezeichenfolge entspricht nicht den Vorgaben des Endpunkts. detail ist ein Array; in jedem Eintrag benennt loc das Feld und msg beschreibt den Fehler.

{
"detail": [
{ "type": "missing", "loc": ["body", "product"], "msg": "Field required", "input": {} }
]
}

Korrigieren Sie die Anfrage und wiederholen Sie sie nicht unverändert. Zwei Streaming-Endpunkte, /chat/summary/stream und /chat/button/stream, antworten bei einem fehlerhaften Anfragekörper mit 500 statt 422, außer bei einem überlangen Feld (siehe unten).

Anfragelimits: 422 mit Fehlercode​

Eine formal gültige Anfrage, die eine Größenbegrenzung überschreitet, erhält ebenfalls 422, allerdings im eingepackten Format: detail enthält den Code als Zeichenfolge und nicht als Array. Es wird nichts berechnet.

{ "detail": "conversation_too_long" }
CodeEndpunktWann er auftrittVorgehensweise
too_many_messages/chat/control/streammessages enthält mehr als 400 Einträge.Senden Sie nur die neuesten Gesprächsbeiträge.
message_too_long/chat/control/streamcontent einer einzelnen Nachricht ist länger als 64.000 Zeichen.Kürzen Sie die Nachricht.
conversation_too_long/chat/control/streamDie Gesamtlänge von content aller Nachrichten überschreitet 200.000 Zeichen.Entfernen Sie die ältesten Beiträge und senden Sie erneut.
invalid_session_id/chat/control/streamsession_id ist länger als 128 Zeichen oder enthält andere Zeichen als Buchstaben, Ziffern, _, ., : oder -.Verwenden Sie eine ID in diesem Format, z. B. eine UUID.
lang_too_long/chat/control/streamlang ist länger als 35 Zeichen.Senden Sie ein BCP-47-Sprachkennzeichen wie pt-BR.
invalid_layout/chat/control/streamlayout ist länger als 16 Zeichen.Senden Sie guide, solange der Viewer sein Guide-Layout zeigt, oder lassen Sie das Feld weg.
field_too_long/chat/summary/stream, /chat/button/streamEin Textfeld oder eine Liste überschreitet ihre jeweilige Begrenzung.Kürzen Sie das Feld. Die Grenzen stehen unter Endpunkte.

Die Grenzen für den Chat-Stream stehen unter Endpunkte.

Anfrage zu groß: 413​

CodeWann er auftrittVorgehensweise
request_too_largeDer Anfragekörper überschreitet 2 MiB bzw. 5 MiB bei einem /design/*-Endpunkt. Der Körper ist {"detail": "request_too_large"}. Es wird nichts berechnet.Senden Sie weniger Daten: Kürzen Sie den Gesprächsverlauf oder die Beispielzeilen einer Designanfrage. Senden Sie nicht denselben Anfragekörper erneut.
request_body_too_largeEine Anfrage zur Schlüsselverwaltung oder zu Geschäftsdaten unter /shared-api überschreitet 1 MiB oder beim Upload-Aufruf POST /shared-api/datahub/ingests 32 MiB.Senden Sie einen kleineren Anfragekörper. Für Uploads siehe Geschäftsdaten hochladen.

Eine Anfrage, deren deklarierte Größe weit über dem Limit eines Endpunkts liegt, kann bereits am Netzwerkrand abgewiesen werden, bevor sie die API erreicht. Diese Antwort enthält keinen Kaleidr-JSON-Körper und damit keinen auslesbaren Code: Senden Sie weniger Daten.

Eine wegen ihrer Größe abgewiesene Anfrage wird wie jede vor der Verarbeitung abgelehnte Anfrage nicht berechnet und belegt anschließend weder KI-Guthaben noch einen gleichzeitigen Anfrageplatz.

Kontingent- und Ratenlimits: 429​

Lesen Sie den Antwortkörper, bevor Sie entscheiden, ob Sie den Aufruf wiederholen.

CodeFeldRetry-AfterWann tritt dies auf?Was ist zu tun?
quota_exceedederrorSekunden bis reset_atDas KI-Guthaben Ihrer Organisation reicht für die Anfrage nicht aus oder das monatliche Limit des Schlüssels würde überschritten. Wird auch vom Aufruf für einen Zuordnungsvorschlag der Upload-API zurückgegeben.Nicht erneut versuchen. Bis reset_at warten, Guthaben hinzufügen oder das Schlüssellimit anheben.
rate_limitederror5Das Anfragelimit des Schlüssels pro Minute ist erreicht. Ebenfalls bei zu vielen Sitzungs-Austauschen für einen Schlüssel, eine veröffentlichte Karte oder eine einzelne Adresse.Die in Retry-After angegebene Anzahl Sekunden warten und dann mit zufälligem Zeitversatz erneut versuchen.
org_overloadederror5Ihre Organisation führt bereits zu viele Anfragen gleichzeitig aus.Warten, bis eine laufende Anfrage beendet ist, und dann erneut versuchen. Nicht mehr benötigte Streams schließen.
b2b_overloadederror5Die API hat ihre Kapazitätsgrenze für alle Aufrufenden erreicht.Die in Retry-After angegebene Anzahl Sekunden warten und dann mit exponentiell steigender Wartezeit erneut versuchen.
limiter_unavailableerror5Der Ratenbegrenzer konnte nicht antworten.In Kürze erneut versuchen. Das Problem hängt nicht mit Ihrer Anfragerate zusammen.
visitor_limit_reachederror5Eine Person hat im Chat einer veröffentlichten Karte das Minuten- oder Tageslimit überschritten.Dem Besucher mitteilen, dass er es später erneut versuchen soll.
map_load_quota_exceededdetailkeinerPOST /sdk/sessions für tile: Das Kontingent der Kartenaufrufe Ihrer Organisation ist aufgebraucht.Nicht erneut versuchen. Auf das Zurücksetzen des Zeitraums warten oder ein Kartenaufrufpaket hinzufügen.

Der Antwortkörper von quota_exceeded enthält die Zahlen:

{
"error": "quota_exceeded",
"detail": "Usage limit reached. Please try again later.",
"product": "b2b",
"meter": "b2b.tokens",
"tier": "pro",
"limit": 5000000,
"used": 4999100,
"remaining": 900,
"reset_at": "2026-11-01T04:00:00+00:00",
"period": "month",
"reset_in_seconds": 1296000
}

Diesen Antwortkörper erhält ein Serverschlüssel. Eine Anfrage mit einem Sitzungstoken (aus einem veröffentlichbaren Schlüssel ausgetauscht oder aus der Besuchersitzung einer veröffentlichten Karte) erhält einen kürzeren Körper, der weder den Tarif noch die Nutzung der Organisation offenlegt:

{
"error": "quota_exceeded",
"detail": "Usage limit reached. Please try again later.",
"meter": "b2b.tokens",
"reset_at": "2026-11-01T04:00:00+00:00",
"reset_in_seconds": 1296000
}

Die einzelnen Felder, die Variante mit Limit pro Schlüssel und Beispielcode zur Behandlung sind unter Kontingente und Ratenbegrenzungen beschrieben.

Serverfehler: 5xx​

StatusCodeWann er auftrittVorgehensweise
500An internal error occurred. Please try again.Ein unerwarteter Fehler.Versuchen Sie es nach kurzer Wartezeit einmal erneut.
500map_design_analyze_failedPOST /design/analyze konnte die Tabelle nicht analysieren. Keine Berechnung.Prüfen Sie die Spalten und Beispielzeilen der Tabelle und versuchen Sie es erneut.
500Summary stream errorPOST /chat/summary/stream konnte nicht starten: ein nicht lesbarer Anfragekörper oder eine Gebäudeanfrage ohne address. Ein überlanges Feld ergibt stattdessen 422 field_too_long.Korrigieren Sie den Anfragekörper.
500Button chat stream errorPOST /chat/button/stream konnte nicht starten: ein nicht lesbarer Anfragekörper oder einer ohne query. Ein überlanges Feld ergibt stattdessen 422 field_too_long.Korrigieren Sie den Anfragekörper.
503sessions_not_configuredDer Sitzungsaustausch ist wegen einer Plattformstörung nicht verfügbar.Versuchen Sie es erneut; kontaktieren Sie den Support, falls der Fehler bestehen bleibt.
503share_grant_unavailableAustausch für eine veröffentlichte Karte: Die Einstellungen der Karte konnten nicht gelesen werden.Versuchen Sie es in Kürze erneut.

Fehler mit Status 200​

POST /chat/control/route gibt 200 zurück, wenn keine Route geplant werden kann:

{ "error": "Route planning failed." }

Die Antwort enthält error, aber keine action. Ein Client, der nur den Status prüft, wertet dies als Erfolg und scheitert anschließend beim Lesen von action. Prüfen Sie immer, ob der Antwortkörper error enthält. Der Text ist zur direkten Anzeige für Benutzer formuliert. Details: Wegbeschreibungen.

GET /retrieval/geocode/forward verhält sich ähnlich: Eine intern fehlgeschlagene Suche gibt 200 mit einer leeren results-Liste zurück, genau wie eine Suche ohne Treffer.

Fehler im Stream​

Alles bisher Beschriebene gilt vor Beginn eines Streams: Eine abgelehnte Streaming-Anfrage ist ein gewöhnlicher HTTP-Fehler. Sobald die Antwort 200 ist und Frames übertragen werden, erscheint ein Fehler als error-Ereignis:

event: error
data: {"type": "error", "code": "upstream_stall", "message": "The AI service stopped responding. Please try again.", "partial_text": "The Louvre sits"}
StreamcodeWann er auftrittVorgehensweise
/chat/control/streamupstream_stallDie Antwort machte keine Fortschritte mehr oder der Stream erreichte seine maximale Dauer von ungefähr 10 Minuten.Bieten Sie einen erneuten Versuch an. Behalten Sie partial_text, falls er hilfreich ist.
/chat/control/streamfehltJeder andere Fehler während der Antwortgenerierung.Zeigen Sie message an. Ein neuer Versuch kann gelingen.
/chat/summary/streamfehltDie Zusammenfassung schlug fehl.Zeigen Sie message an oder verzichten Sie auf die Zusammenfassung.
/spot/overview/streamfehltDer Überblick schlug fehl oder die angegebene ref kann nicht beschrieben werden. In letzterem Fall enthält das Ereignis die ref: eine poi:- oder region:-Referenz, die nicht am Punkt liegt, place: ohne hint.name oder ein Gebäude bzw. eine Adresse, die die API nicht beschreibt.Zeigen Sie keinen Überblick. Wiederholen Sie ein Ereignis, das eine ref enthält, nicht.
/chat/button/streamkeinerDieser Stream hat kein error-Ereignis. Ein Fehler schließt die Verbindung ohne end.Werten Sie einen Stream, der ohne end schließt, als fehlgeschlagen.

Regeln für jeden Stream:

  • Ein error-Ereignis ersetzt end. Danach kann nur noch ein optionales quota-Ereignis folgen.
  • Eine Verbindung, die ohne end und ohne error schließt, ist fehlgeschlagen.
  • Das quota-Ereignis ist kein Fehler. Es ist ein Nutzungsbericht, der nach end oder error gesendet wird. Bei einem mit Sitzungstoken gelesenen Stream enthält er nur type, meter und reset_at.
  • Ein unbekannter Ereignisname ist kein Fehler. Ignorieren Sie ihn.

Ein fehlgeschlagener oder vorzeitig geschlossener Stream wird trotzdem berechnet. Bei /chat/control/stream ist die Berechnung niemals geringer als die geschätzte Größe des gesendeten Gesprächs. Sie kann daher höher sein als die anfänglich reservierten Guthabenpunkte. Siehe Abrechnung eines Streams. Ein erneuter Versuch ist eine neue, separat berechnete Anfrage.

Fehler, die der Browser verbirgt​

Wenn der Ursprung oder die Anmeldedaten abgewiesen werden, enthält die Antwort keinen CORS-Header. Der Browser hält Status und Antwortkörper vor Ihrem Code zurück. Die Seite sieht in der Konsole einen CORS-Fehler und einen abgewiesenen fetch; das SDK protokolliert einen Fehler mit [kaleidr:<product>].

Um den tatsächlichen Code zu lesen, öffnen Sie den Netzwerk-Tab und wählen Sie die fehlgeschlagene Anfrage. Häufig sind origin_not_allowed, Invalid or missing API key und server_key_in_browser. Siehe CORS und erlaubte Ursprünge.

Eine 4xx-Antwort ganz ohne Kaleidr-JSON-Körper stammt vom Netzwerkrand vor der API. Ursache ist entweder eine Ratenbegrenzung (später mit Wartezeit erneut versuchen) oder eine Anfrage, deren deklarierte Größe weit über jedem Endpunktlimit liegt (weniger senden; dieselbe Anfrage erneut zu senden ergibt denselben Fehler).

Tile-Host​

Anfragen an tile.kaleidr.com, die nicht von einem Kaleidr-Embed mit gültigem veröffentlichbarem Schlüssel und zugelassenem Ursprung stammen, erhalten:

StatusCodeRetry-AfterVorgehensweise
429tile_access_restricted (in error, mit message und docs)3600Verwenden Sie das Tile-Produkt mit einem veröffentlichbaren Schlüssel und tragen Sie den Ursprung der Seite in dessen Zulassungsliste ein, falls eine solche Liste vorhanden ist.

Schlüsselverwaltung​

Fehler von https://api.kaleidr.com/shared-api/api-keys, das von der Seite API Keys genutzt wird und mit dem Zugriffstoken Ihres Kontos aufgerufen werden kann. Alle verwenden das eingepackte Format.

StatusCodeWann er auftrittVorgehensweise
401verschiedenKein gültiges Konto-Zugriffstoken. Ein Plattformschlüssel wird hier nicht akzeptiert.Melden Sie sich erneut an.
403org_admin_requiredIhr Konto ist weder Eigentümer noch Administrator der Organisation.Fragen Sie einen Eigentümer oder Administrator.
403plan_requiredDie Organisation hat keinen Tarif.Wählen Sie unter kaleidr.com/billing einen Tarif.
403free_plan_publishable_onlyIm Free-Tarif wurde ein Serverschlüssel angefordert. Auch beim Rotieren eines Server- oder Legacy-Schlüssels unter Free.Erstellen Sie einen veröffentlichbaren Schlüssel oder wechseln Sie zu Pro.
403tier_capability_not_allowedBeim Erstellen eines Schlüssels nennen scopes oder allowed_products eine Berechtigung bzw. ein Produkt, das Ihr Tarif nicht zulässt. Praktisch betrifft dies vendor unter Free oder Pro: Die Anfrage wird unabhängig davon abgewiesen, ob vendor_acknowledged mitgesendet wird; es wird kein Schlüssel erstellt. Beim Bearbeiten nennt allowed_products ein nicht enthaltenes Produkt oder wird im Free-Tarif als leere Liste gesetzt.vendor erfordert Enterprise. Geben Sie andernfalls nur im Tarif enthaltene Berechtigungen und Produkte an.
404key_not_foundIn dieser Organisation existiert kein Schlüssel mit dieser ID. Bearbeiten und Widerrufen finden Schlüssel jeden Status; der erneute Widerruf eines bereits widerrufenen Schlüssels gibt daher 200 zurück. Rotieren erfordert einen aktiven Schlüssel und liefert diesen Code bei widerrufenen Schlüsseln.Prüfen Sie die ID. Bei einer Rotation kann der Schlüssel bereits widerrufen sein.
409key_limit_reachedDie Organisation hat die Zahl aktiver Schlüssel ihres Tarifs erreicht (Free 2, Pro 10, Enterprise 25).Widerrufen Sie einen Schlüssel oder rotieren Sie einen vorhandenen, statt einen neuen zu erstellen.
409key_already_rotatedDer Schlüssel wurde bereits rotiert, unabhängig davon, ob seine Übergangsfrist abgelaufen ist. Er kann nicht nochmals rotiert werden; auch eine Bearbeitung, die expires_at löscht oder auf einen Zeitpunkt nach Ende der Übergangsfrist setzt, wird verweigert. Ein früheres expires_at und andere Schlüsselfelder bleiben bearbeitbar.Verwenden Sie den Ersatzschlüssel.
409key_expiredEin nie rotierter Schlüssel ist abgelaufen, und die Bearbeitung enthält expires_at. Ein abgelaufener Schlüssel kann kein neues Ablaufdatum erhalten; seine anderen Felder können bearbeitet werden.Erstellen Sie einen neuen Schlüssel.
413request_body_too_largeDer Anfragekörper ist größer als 1 MiB.Senden Sie einen kleineren Körper.
422unknown_scopescopes enthält einen anderen Wert als ai, maps, design, vendor.Korrigieren Sie die Liste.
422unknown_productallowed_products enthält einen anderen Wert als chat, editor, viewer, tile.Korrigieren Sie die Liste.
422vendor_scope_requires_acknowledgementUnter Enterprise wurde ein veröffentlichbarer Schlüssel mit vendor ohne vendor_acknowledged: true angefordert. Unter Free und Pro ergibt dieselbe Anfrage 403 tier_capability_not_allowed.Lesen Sie die Berechtigung vendor und senden Sie dann das Feld.
422no_fields_to_updateBearbeitungsanfrage ohne bearbeitbares Feld.Senden Sie mindestens ein Feld.
422ValidierungslisteFehlerhafter Ursprung, IP-Eintrag, Ablaufzeitpunkt in der Vergangenheit oder Name.Korrigieren Sie das unter loc genannte Feld.
500insert_failed, session_unavailableEine Plattformstörung.Versuchen Sie es erneut.
503api_key_pepper_not_configuredWegen einer Plattformstörung können keine Schlüssel erstellt werden.Versuchen Sie es erneut; kontaktieren Sie bei anhaltendem Fehler den Support.

Hochladen von Geschäftsdaten​

Fehler der Upload-Routen unter https://api.kaleidr.com/shared-api/datahub und des Aufrufs für Zuordnungsvorschläge. Die vollständige Liste einschließlich Datei- und Feldlimits für die einzelnen 422-Fehler steht unter Geschäftsdaten hochladen. Hier folgen die Fehler, die eine Anfrage vor dem Einlesen einer Datei abweisen, sowie die Fehler beim Zurücknehmen einer Veröffentlichung und beim Löschen eines Releases:

StatusCodeWann er auftrittVorgehensweise
403org_admin_requiredDas Konto ist weder Eigentümer noch Administrator der Organisation. Auch der Aufruf für Zuordnungsvorschläge gibt diesen Fehler zurück.Fragen Sie einen Eigentümer oder Administrator.
403vendor_data_not_on_planDer Tarif der Organisation erlaubt keinen Upload von Geschäftsdaten. Diese Funktion ist nur in Enterprise enthalten. Der Fehler tritt bei Upload, Veröffentlichung, erneuter Verarbeitung und Zuordnungsvorschlägen auf, niemals beim Lesen, Zurücknehmen oder Löschen.Wechseln Sie zu Enterprise. GET /shared-api/datahub/limits gibt in jedem Tarif ohne Abweisung an, ob die Organisation hochladen darf. Unter Free und Pro können Sie stattdessen Daten zu einer Karte in Kaleidr Studio hinzufügen: siehe Datensätze auf einer Karte.
404release_not_foundBeim Zurücknehmen oder Löschen existiert kein Release mit dieser ID in der Organisation, auch wenn es bereits vollständig gelöscht wurde.Behandeln Sie einen Löschvorgang in diesem Fall als bereits abgeschlossen.
409org_ingest_in_progressEin anderer Upload der Organisation wird noch verarbeitet. Wird von Upload-, Veröffentlichungs- und Neuverarbeitungsaufrufen zurückgegeben.Warten Sie auf das Ende und senden Sie dann erneut.
409release_not_publishedDas Zurücknehmen der Veröffentlichung wurde für einen Entwurf oder ein fehlgeschlagenes Release aufgerufen.Es gibt nichts zurückzunehmen. Löschen Sie es stattdessen.
409release_is_publishedDas Löschen wurde für das aktuell veröffentlichte Release aufgerufen.Nehmen Sie die Veröffentlichung zurück und löschen Sie dann.
413request_body_too_largeDie Upload-Anfrage ist größer als 32 MiB.Senden Sie eine kleinere Datei. Für die Datei selbst gilt die Größenbegrenzung Ihrer Organisation.
422{ "errors": [ … ] } in detailDie Datei überschreitet eine Zeilen- oder Größenbegrenzung, ein Feld eines JSON-Bundles überschreitet seine Längenbegrenzung oder das JSON ist zu tief verschachtelt. Bei einem vertraglich festgelegten Limit werden der Grenzwert und der Tarif im Grund genannt.Lesen Sie alle Gründe und korrigieren Sie die Datei.
429ingest_rate_limitedDie Organisation hat in der letzten Stunde 30 Uploads gestartet.Warten Sie und senden Sie erneut.
429ein Satz in detailDas Konto hat in der letzten Stunde 30 Zuordnungsvorschläge erstellt. Der Antwortkörper hat kein Feld error.Warten Sie und senden Sie erneut.
429quota_exceeded in errorZuordnungsvorschlag: Das KI-Guthaben der Organisation ist aufgebraucht. Der Körper entspricht der üblichen Kontingentantwort.Warten Sie bis reset_at, kaufen Sie Guthaben hinzu oder erstellen Sie die Zuordnung manuell.

Datensatz-Uploads in Kaleidr Studio​

Dieser Abschnitt gehört nicht zur Plattform-API mit Schlüsselauthentifizierung. Er beschreibt die Antwort, die Kaleidr Studio erhält, wenn ein angemeldeter Benutzer im Datenbereich einer Karte einen Datensatz hinzufügt und der Upload wegen seiner Größe verweigert wird. Es ist kein API-Schlüssel beteiligt. Es gibt zwei Arten der Ablehnung mit unterschiedlicher Bedeutung:

StatusCodeWann er auftrittVorgehensweise
402quota_exceededEin neuer Datensatz-Upload überschreitet eine der Tarifgrenzen der Organisation: Zeilen in einem Datensatz, Dateigröße oder Gesamtzahl der Zeilen in allen Datensätzen. limit_key nennt die verletzte Grenze. Bereits gespeicherte Daten bleiben erhalten. Studio zeigt die Nachricht mit einem Upgrade-Link.Laden Sie eine kleinere Datei hoch oder entfernen Sie nicht mehr benötigte Datensätze. Wechseln Sie unter Free zu Pro. Unter Pro oder Enterprise können Sie Kaleidr kontaktieren, um das Organisationsgesamtlimit zu erhöhen; das Zeilen- und Dateigrößenlimit pro Datensatz kann nicht über die Obergrenzen der nächsten Zeile angehoben werden.
400VALIDATION_ERRORDatei oder Datensatz überschreiten eine Obergrenze, die für jeden Tarif gilt: Datei größer als 64 MiB, Datensatz mit mehr als 100.000 Zeilen, Geodatei mit mehr als 50.000 Features oder Bildoverlay größer als 16 MiB. Der Code steht in error. Ein Tarifwechsel erlaubt diesen Upload nicht.Teilen Sie die Datei in kleinere Teile. Wiederholen Sie denselben Upload nicht und bieten Sie kein Upgrade an.

Welche Antwort Sie erhalten, hängt von der Größe ab und nicht nur vom Tarif. Die allgemeine Obergrenze wird zuerst geprüft: Eine Datei über 64 MiB oder ein Datensatz über 100.000 Zeilen liefert unter Free, Pro und Enterprise gleichermaßen 400. Der Status 402 gilt für einen Upload unterhalb der allgemeinen Obergrenze, aber oberhalb des eigenen Organisationslimits: etwa eine 40-MiB-Datei unter Free mit einer Grenze von 32 MiB.

402 quota_exceeded​

Der Antwortkörper ist ein Problem-Details-Objekt mit den zusätzlichen Studio-Feldern error und message. Der Code steht sowohl in error als auch in code, der Text sowohl in message als auch in detail:

{
"error": "quota_exceeded",
"message": "Your plan allows 250,000 rows across all of your organization's datasets. Delete a dataset or upgrade to add more.",
"type": "https://errors.kaleidr.com/datasets/quota_exceeded",
"title": "Quota Exceeded",
"status": 402,
"detail": "Your plan allows 250,000 rows across all of your organization's datasets. Delete a dataset or upgrade to add more.",
"code": "quota_exceeded",
"limit_key": "studio.data.rows.max",
"limit": 250000,
"used": 248500,
"tier": "free",
"upgrade_url": "https://kaleidr.com/pricing"
}
FeldBedeutung
error, codeImmer quota_exceeded. Derselbe Wert zweimal.
message, detailDerselbe Satz zweimal. Er beschreibt das Limit verständlich und ist zur Anzeige für Benutzer bestimmt.
typeImmer https://errors.kaleidr.com/datasets/quota_exceeded.
titleImmer Quota Exceeded.
statusImmer 402.
limit_keyWelches Limit den Upload verweigert hat. Siehe nächste Tabelle.
limitDas Organisationslimit in der zugehörigen Maßeinheit.
usedBeim Gesamtlimit die bereits von der Organisation gespeicherten Zeilen. Bei den anderen beiden die Zeilen oder MiB dieses Uploads.
tierDer Organisationstarif: free, pro oder enterprise. Kann der Tarif nicht gelesen werden, lautet der Wert unknown und die Free-Grenzen gelten.
upgrade_urlAdresse für den Tarifwechsel.
limit_keyLimitEinheit von limit und usedDer Satz
studio.dataset.rows.maxZeilen in einem DatensatzZeilen„Ihr Tarif erlaubt 50.000 Zeilen pro Datensatz. Laden Sie eine kleinere Datei hoch oder wechseln Sie den Tarif.“
studio.dataset.file.mbGröße einer hochgeladenen DateiMiB„Ihr Tarif erlaubt Dateien bis 32 MB. Laden Sie eine kleinere Datei hoch oder wechseln Sie den Tarif.“
studio.data.rows.maxZeilen aller OrganisationsdatensätzeZeilen„Ihr Tarif erlaubt insgesamt 250.000 Zeilen in allen Datensätzen Ihrer Organisation. Löschen Sie einen Datensatz oder wechseln Sie den Tarif, um weitere hinzuzufügen.“

Die Zahlen in diesen Sätzen sind die Free-Grenzen; der tatsächlich empfangene Satz enthält die Grenzwerte Ihrer Organisation. Zeigen Sie den Satz an und verzweigen Sie im Programm anhand von code und limit_key. Dieser 402-Fehler unterscheidet sich vom 429-Fehler quota_exceeded der Plattform-API, der sich auf KI-Guthaben bezieht.

400 VALIDATION_ERROR​

Der Antwortkörper hat zwei Felder und keine weiteren Problem-Details-Einträge:

{
"error": "VALIDATION_ERROR",
"message": "File is larger than 64 MB."
}
Grund der Ablehnungmessage
Datei größer als 64 MiB„Datei ist größer als 64 MB.“
Datensatz mit mehr als 100.000 Zeilen„Maximal 100000 Datensätze pro Datensatz“
Geodatei mit mehr als 50.000 Features„<filename> enthält mehr als 50000 Features. Teilen oder vereinfachen Sie die Geometrie vor dem Hochladen.“
Bildoverlay größer als 16 MiB„Overlay-Bild ist größer als 16 MB.“

Derselbe Status und Code werden auch bei anderen Problemen mit einer hochgeladenen Datei zurückgegeben, etwa bei einem von Studio nicht lesbaren Dateityp oder einer Datei ohne verwendbare Zeilen; message nennt den Grund. Behandeln Sie jede 400-Antwort eines Uploads als „Diese Datei kann in dieser Form nicht hinzugefügt werden“ und zeigen Sie message an.

Verwandte Themen​