# Yaygın Hatalar

Sayfa, prod üzerindeki durum dağılımını 30 gün içinde gösteriyor. Ölçmediğimiz yerlerde olduğu gibi yazılmış.

<Aside type="note">
Hata kodlarını istek günlüğüne **yazmıyoruz**, sadece HTTP durum kodlarını. Bu yüzden aşağıda durum sıklıkları var, ama `INVALID_FIELD` gibi bir kod derecelendirmesi yok. Bunu uydurmadık.
</Aside>

## Yol Hataları

Günlükte en sık görülen 4xx `404` ve neredeyse hepsi senin hatan değil: `.env`, `.git/config`, `wordpress/`, `wp-content/…` gibi dosyaları tarayan tarayıcılar. Entegratörlerdeki gerçek yol hataları farklı ve zaten burada örneklerle açıklanmış: [Sık gördüğümüz hatalı çağrılar](/api-conventions/#помилкові-виклики-які-ми-бачимо-найчастіше). Kısaca: `/api/…` yerine `/v1/…`, çift `/v1/v1/…`, `/swagger.json` yerine `/v1/openapi.json`.

## `402`: tarif bu endpoint'i içermiyor

30 gün içinde 385 yanıt. Dağılım, ücretsiz tarifin en çok nerede takıldığını gösteriyor:

| Endpoint | `402` 30 gün içinde |
|---|---|
| `chart` | 114 |
| `transit-calendar` | 101 |
| `vedic/dashas/vimshottari/maha` | 48 |
| `ingresses` | 25 |
| `planetary-hours` | 24 |
| `vedic/panchang/full` | 24 |
| `eclipses` | 13 |

Yanıt gövdesinde `current_plan` ve `upgrade_to` geliyor. Bu bir istek hatası değil: gövde doğru, anahtar geçerli, sadece tarif bu endpoint'i içermiyor.

## `429`: iki farklı limit

30 gün içinde 6 791 yanıt, bunların 3 769'u anahtarsız ve 3 022'si anahtarlı. Bu iki farklı mekanizma ve karıştırmamalısın:

- **anahtarsız** limit IP başına sayılır, saat başına 30 istek. Günlüğümüzdeki en büyük blok hatta entegratörler değil, 15 adresten oluşan sentetik Chrome-Lighthouse denetimi;
- **anahtarlı** limit tarifinin RPM'idir. Yanıtta saniye cinsinden `Retry-After` bulunur ve hemen yeniden denemek yerine onun beklenmesi gerekir.

## `400`: neredeyse her zaman kart isteği gövdesi

30 gün içinde 700 yanıt ve bunlar tarih, saat ve koordinat alan endpoint'lere odaklanıyor: `chart` (111), `horoscope/daily` (19), `transits` (18), `synastry` (15), `rectification` (15).

Bu hatalardan en pahalı olanı `400` veren değil, bir zamanlar `200` veren hatadır: alanların kısa yazımları. Kurallar ve yanıt örneği: [Alan formatları](/agent-setup/field-formats/).

## `401` ve `403`

`401` eksik ya da geçersiz anahtar; mesaj her iki sınıfı da adlandırır, `aw_` ve `pk_`. `403` ise kaynak: tarayıcı anahtarı `pk_`, istek kaynak olmadan ya da başka bir domain'den gelirse reddedilir, endpoint alanına sahip anahtar `ENDPOINT_NOT_IN_SCOPE` hatası verir ve `details` içinde kendi listesini döner.

Tam kod tablosu: [Hatalar](/errors/).
