Błędy i limity zapytań
Jedna struktura błędu zwracana przy każdym nieudanym zapytaniu, nagłówki limitu zapytań oraz jak bezpiecznie ponowić zapis.
Każdy endpoint zwraca błędy w ten sam sposób, więc obsługujesz błędy, limity i ponawianie żądań raz, a następnie używasz tego kodu wszędzie, także przez MCP.
Każda odpowiedź, która nie jest kodem 2xx, to jeden obiekt JSON:
{
"defined": false,
"code": "TOO_MANY_REQUESTS",
"message": "Too many requests",
"data": { "reason": "rate_limit.exceeded", "retryAfterMs": 12000 }
}codeto błąd na poziomie HTTP, na przykładUNAUTHORIZED,FORBIDDEN,NOT_FOUND,BAD_REQUESTlubTOO_MANY_REQUESTS.data.reason, jeśli występuje, to dokładniejszy, zrozumiały dla maszyny powód, taki jakauth.key_not_foundlubrate_limit.exceeded. Rozgałęziaj kod na podstawie tego pola, a nie na podstawiemessage, które jest przeznaczone dla ludzi i może się zmienić.definedtotrue, gdy operacja wymienia ten błąd w dokumentacji API, orazfalsedla błędów, które może napotkać każde żądanie (uwierzytelnianie, limity, nieznana ścieżka).- Nieudana walidacja zwraca
BAD_REQUESTz problemami wdata.formErrorsidata.fieldErrors.
Każda odpowiedź zawiera również X-Request-ID. Cytuj go, gdy kontaktujesz się z pomocą techniczną,
a my odnajdziemy dokładnie to żądanie.
| Status | Kod | Co zrobić |
|---|---|---|
400 | BAD_REQUEST | Popraw żądanie; data.fieldErrors wskazuje pola |
401 | UNAUTHORIZED | Wyślij poprawny klucz lub sesję |
403 | FORBIDDEN | Klucz nie ma wymaganego zakresu lub roli dla tej operacji |
404 | NOT_FOUND | Zasób nie istnieje lub nie masz do niego dostępu |
409 | CONFLICT | Duplikowane żądanie zapisu jest w trakcie przetwarzania; ponów próbę za chwilę |
413 | PAYLOAD_TOO_LARGE | Ciało żądania przekracza 1 MB; podziel przesyłanie zbiorcze na mniejsze partie |
422 | UNPROCESSABLE_CONTENT | Żądanie jest poprawnie sformułowane, ale nie może zostać zastosowane |
429 | TOO_MANY_REQUESTS | Poczekaj na Retry-After, a następnie ponów próbę |
Każda odpowiedź zawiera informacje o limicie, względem którego zostało zliczone żądanie, w dwóch formach:
- nagłówki
X-RateLimit-*; - strukturalne pola IETF
RateLimit(aktualny stan:rto liczba pozostałych żądań,tto sekundy do resetu okna) orazRateLimit-Policy(kwota:qto limit,wto okno w sekundach).
Odpowiedź 429 zawiera również Retry-After w sekundach oraz data.retryAfterMs. Poczekaj co najmniej tyle czasu przed następnym żądaniem; ponowienie próby wcześniej zostanie zliczone i odrzucone ponownie.
Operacja zapisu, która wymienia nagłówek Idempotency-Key w
dokumentacji API, może być ponawiana bez ryzyka podwójnego wykonania. Wyślij jeden klucz na logiczną operację zapisu i powtarzaj ten sam klucz przy każdej próbie ponowienia:
- ten sam klucz z tym samym ciałem w ciągu 24 godzin odtwarza zapisaną odpowiedź;
- ten sam klucz z innym ciałem jest odrzucany z kodem
422; - duplikat, który dotrze, gdy pierwsze żądanie jest jeszcze w trakcie przetwarzania, otrzymuje
409.
Operacja bez tego nagłówka nie jest idempotentna, więc ponawiaj ją tylko wtedy, gdy wiesz, że pierwsza próba nie została zrealizowana.
Czy ta strona była pomocna?
Uwierzytelnianie
Uwierzytelnij żądania API za pomocą klucza API przestrzeni roboczej Nordvec przesłanego jako token nośnika i wybierz klasę klucza oraz zakresy, których potrzebuje zadanie.
MCP
Podłącz agenta AI do swojej bazy wiedzy w przestrzeni roboczej przez Model Context Protocol za pomocą klucza API.