API und KI-Assistenten/Limits und Fehler

Limits und Fehler

Die Anfragelimits der API und ihre Rate-Limit-Header, was jeder Fehlercode bedeutet und wie Werte und Seiten funktionieren.

Anfragelimits

LimitWert
Pro Minute60 Anfragen
Pro Tag10.000 Anfragen

Beide gelten für das gesamte Konto: alle Ihre Schlüssel und verbundenen KI-Assistenten zusammen.

  • Das Minutenlimit füllt sich laufend auf: Jede Sekunde kommt eine Anfrage zurück, bis zu 60.
  • Das Tageslimit ist ein Zeitfenster von 24 Stunden, kein Kalendertag. Der Header X-RateLimit-Reset-Day sagt, wann es endet.

Rate-Limit-Header

Jede Antwort auf eine Anfrage mit gültigem Schlüssel enthält:

HeaderBedeutung
X-RateLimit-LimitErlaubte Anfragen pro Minute (60)
X-RateLimit-RemainingAktuell verbleibende Anfragen
X-RateLimit-ResetSekunden, bis das Minutenlimit wieder voll ist
X-RateLimit-Limit-DayErlaubte Anfragen pro Tag (10.000)
X-RateLimit-Remaining-DayHeute verbleibende Anfragen
X-RateLimit-Reset-DaySekunden, bis das Tagesfenster endet

Ist ein Limit erreicht, lautet die Antwort 429 rate_limited mit einem Header Retry-After: Warten Sie so viele Sekunden und senden Sie die Anfrage dann erneut.

Jede Antwort, ob Fehler oder nicht, enthält außerdem X-Request-Id.

Aufbau eines Fehlers

Fehler folgen dem Standardformat „Problem Details“ (application/problem+json):

{
  "type": "https://gloriads.com/docs/api/errors#invalid_request",
  "title": "Invalid request",
  "status": 400,
  "code": "invalid_request",
  "detail": "limit must be between 1 and 100.",
  "issues": [
    {
      "path": "limit",
      "code": "invalid_value",
      "message": "limit must be between 1 and 100."
    }
  ],
  "request_id": "req_8fK2mQ7xLp3nR9sT1vWy"
}
  • Prüfen Sie in Ihrem Skript code. Er ändert sich nie; detail ist für Menschen geschrieben und kann umformuliert werden.
  • issues listet jeden ungültigen Parameter auf. Es erscheint nur bei invalid_request.
  • Geben Sie request_id an, wenn Sie den Support kontaktieren.

Fehlercodes

invalid_request · 400 – Ein Parameter ist ungültig: ein unbekannter Wert, eine Zahl außerhalb des Bereichs, ein Seitencursor, der nicht von uns stammt. issues sagt, welcher Parameter und warum.

api_key_in_query · 400 – Der Schlüssel wurde in der URL gesendet. Senden Sie ihn im Header Authorization und widerrufen Sie diesen Schlüssel: Er steht möglicherweise schon in einem Log.

unauthorized · 401 – Kein Schlüssel, oder ein falscher oder widerrufener Schlüssel. Die Antwort sagt absichtlich nicht, was davon zutrifft.

subscription_inactive · 403 – Das Abo des Kontos ist beendet. Die API funktioniert wieder, sobald das Abo aktiv ist.

insufficient_scope · 403 – Der Schlüssel darf nicht lesen. Jeder heute erstellte Schlüssel darf lesen, Sie sollten diesen Code also nie sehen.

not_found · 404 – Unter diesem Pfad gibt es keinen Endpunkt, oder das Angefragte existiert in Ihrem Konto nicht. Etwas, das zu einem anderen Konto gehört, erhält dieselbe Antwort.

method_not_allowed · 405 – Die API antwortet nur auf GET, weil sie schreibgeschützt ist. Der Header Allow listet auf, was sie akzeptiert.

amazon_not_connected · 409 – /targets, /ads und /reports/streaming-tv lesen Amazon im Moment Ihrer Anfrage, und Amazon Ads ist nicht verbunden oder muss erneut verbunden werden. Beheben Sie das in Gloriads unter Einstellungen → Amazon Ads.

rate_limited · 429 – Ein Limit ist erreicht. Warten Sie die Anzahl Sekunden aus Retry-After.

internal_error · 500 – Auf unserer Seite ist etwas fehlgeschlagen. Versuchen Sie es später erneut; tritt der Fehler weiter auf, senden Sie uns die request_id.

amazon_unavailable · 502 – Amazon hat bei /targets, /ads oder /reports/streaming-tv nicht geantwortet oder konnte den Streaming-TV-Bericht nicht erstellen. Versuchen Sie es in einigen Minuten erneut.

timeout · 504 – Die Antwort hat länger als 30 Sekunden gedauert. Fragen Sie weniger auf einmal ab.

Werte und Seiten

  • null bedeutet „existiert nicht“, nie 0.
  • Lange Listen kommen seitenweise. limit legt die Seitengröße fest: von 1 bis 100 (standardmäßig 50) oder bis zu 1.000 (standardmäßig 100) für Kampagnen und Anzeigengruppen. Ist has_more gleich true, senden Sie next_cursor als cursor zurück, um die nächste Seite zu erhalten.
  • Eine Seite kann kürzer als limit sein, wenn ein Filter nur wenige Zeilen übrig lässt (die Anzeigengruppen einer Kampagne). Folgen Sie next_cursor, bis has_more gleich false ist.