Zum Inhalt springen

Hilfe

Markdown

Fehler und Rate Limits

Fehler kommen als JSON mit einem stabilen error-Code und einer message, die für Menschen geschrieben ist:

{ "error": "auth_required", "message": "This tool needs a TerraLab account. Connect TerraLab in your assistant's settings; see https://terra-lab.ai/mcp." }

Verzweigen Sie nach error, nie nach message: Der Wortlaut kann sich ändern.

HTTP-Fehler

StatuserrorBedeutungWas zu tun ist
400invalid_inputDer Body ist kein JSON-Objekt mit den Tool-Argumenten.Korrigieren Sie den Request-Body.
400bad_requestDie Anfrage konnte nicht gelesen werden.Prüfen Sie das JSON und die Header.
401auth_requiredEs wurde kein Key und kein Token gesendet.Senden Sie Authorization: Bearer <key>.
401invalid_tokenDer Key oder das Token ist ungültig, widerrufen oder abgelaufen.Erstellen Sie einen neuen Key oder lassen Sie den Agenten sich erneut anmelden.
401access_revokedDie App wurde im Dashboard getrennt.Verbinden Sie den Agenten erneut.
402balance_requiredDie kostenlosen Aufrufe des Monats sind aufgebraucht oder die Operation ist kostenpflichtig, und das Guthaben ist leer.Laden Sie Guthaben auf; die Antwort enthält hint und account_url.
404not_foundEs gibt diesen API-Pfad nicht.Prüfen Sie die URL.
404unknown_toolKein Tool hat diesen Namen.Listen Sie die Tools mit GET /v1/tools.
405method_not_allowedTools werden mit POST aufgerufen.Verwenden Sie POST.
413too_largeDer Request-Body ist zu groß.Senden Sie eine kleinere Datei oder weniger Features.
429rate_limitedZu viele Anfragen in der letzten Minute.Warten Sie Retry-After Sekunden und versuchen Sie es dann erneut.
429daily_limitDas Konto hat seine tägliche Sicherheitsgrenze erreicht.Versuchen Sie es am nächsten Tag (UTC) erneut oder schreiben Sie an den Support.
503unavailableDer Kontodienst hat nicht geantwortet.Versuchen Sie es nach Retry-After Sekunden erneut.

Tool-Fehler

Ein Tool, das läuft, aber nicht antworten kann, liefert 200 mit isError: true. Sein structuredContent enthält dann code, message und meistens einen hint, der sagt, was zu ändern ist: ein Ort, der nicht gefunden wurde, ein zu großes Gebiet, ein Land, das es nicht abdeckt.

{
  "structuredContent": { "code": "...", "message": "...", "hint": "..." },
  "content": [{ "type": "text", "text": "..." }],
  "isError": true
}

Was gezählt wird

Ein Aufruf, der fehlschlägt oder nichts findet, wird nicht gezählt: Der kostenlose Aufruf oder der vom Guthaben abgebuchte Betrag wird zurückgegeben. Nur Antworten mit einem Ergebnis zählen.

Rate Limits

Jedes Konto kann 60 Aufrufe pro Minute machen. Darüber antwortet die API mit 429 und Retry-After: 60. Verteilen Sie Batch-Jobs über die Zeit und versuchen Sie es mit wachsender Wartezeit erneut:

import time
import requests

def call(url, headers, body, attempts=5):
    for attempt in range(attempts):
        response = requests.post(url, headers=headers, json=body, timeout=120)
        if response.status_code not in (429, 503):
            return response
        time.sleep(int(response.headers.get("Retry-After", 2 ** attempt)))
    return response

Wiederholen Sie nur 429 und 503. Ein 401 oder 402 geht beim zweiten Versuch nicht durch.

Aktualisiert am 2026-10-27