# Typowe błędy

Strona zawiera rozkład statusów na produkcji z ostatnich 30 dni. Tam, gdzie czegoś nie mierzymy, jest to zaznaczone.

<Aside type="note">
Kodów błędów **nie** zapisujemy w dzienniku zapytań, tylko statusy HTTP. Dlatego poniżej znajdziesz częstotliwości statusów, ale nie ma rankingu kodów takich jak `INVALID_FIELD`. Nie wymyślaliśmy go.
</Aside>

## Błędy ścieżki

Najczęstsze błędy 4xx w dzienniku to `404`, i prawie wszystkie z nich nie są twoje: to skanery, które przeszukują `.env`, `.git/config`, `wordpress/`, `wp-content/…`. Prawdziwe błędy ścieżki u integratorów są inne i zostały już opisane z przykładami tutaj: [Najczęstsze błędne wywołania, które obserwujemy](/api-conventions/#помилкові-виклики-які-ми-бачимо-найчастіше). Krótko: `/api/…` zamiast `/v1/…`, podwójne `/v1/v1/…`, `/swagger.json` zamiast `/v1/openapi.json`.

## `402`: Twój plan taryfowy nie obejmuje tego endpointu

385 odpowiedzi w ciągu 30 dni. Rozkład pokazuje, gdzie najczęściej napotyka ograniczenia darmowy plan taryfowy:

| Endpoint | `402` w ciągu 30 dni |
|---|---|
| `chart` | 114 |
| `transit-calendar` | 101 |
| `vedic/dashas/vimshottari/maha` | 48 |
| `ingresses` | 25 |
| `planetary-hours` | 24 |
| `vedic/panchang/full` | 24 |
| `eclipses` | 13 |

W treści odpowiedzi otrzymujesz `current_plan` i `upgrade_to`. To nie jest błąd zapytania: treść jest poprawna, klucz jest ważny, po prostu twój plan taryfowy nie obejmuje tego endpointu.

## `429`: dwa różne limity

6 791 odpowiedzi w ciągu 30 dni, z czego 3 769 bez klucza i 3 022 z kluczem. To dwa różne mechanizmy i nie należy ich mylić:

- **bez klucza** limit jest liczony na podstawie IP, 30 zapytań na godzinę. Największy blok w naszym dzienniku to nawet nie integratorzy, a syntetyczny audyt Chrome-Lighthouse z 15 adresów;
- **z kluczem** limit to RPM twojego planu taryfowego. W odpowiedzi znajduje się `Retry-After` w sekundach i to właśnie na niego należy poczekać, a nie ponawiać próbę od razu.

## `400`: prawie zawsze treść zapytania o wykres

700 odpowiedzi w ciągu 30 dni, i są one skoncentrowane na endpointach, które przyjmują datę, czas i współrzędne: `chart` (111), `horoscope/daily` (19), `transits` (18), `synastry` (15), `rectification` (15).

Najdroższy z takich błędów to nawet nie ten, który zwraca `400`, ale ten, który kiedyś zwracał `200`: skrócone nazwy pól. Zasady i przykład odpowiedzi: [Formaty pól](/agent-setup/field-formats/).

## `401` i `403`

`401` oznacza brakujący lub nieprawidłowy klucz; wiadomość wymienia obie klasy, `aw_` i `pk_`. `403` to pochodzenie: klucz przeglądarkowy `pk_` jest odrzucany, jeśli zapytanie przyszło bez pochodzenia lub z innej domeny, a klucz z zakresem endpointów odpowiada `ENDPOINT_NOT_IN_SCOPE` i wymienia swoją listę w `details`.

Pełna tabela kodów: [Błędy](/errors/).
