# 403 va 404

> Nima uchun metod «access denied» yoki «not found» deb javob beradi va kirish muammosini marshrutdagi xatodan qanday farqlash mumkin.

## Ularni bir-biridan qanday farqlash mumkin

```plaintext
403 → token qabul qilingan, marshrut taqiqlangan → bo'lim «403»
404 → marshrut topilmagan yoki metod noto'g'ri → bo'lim «404»
401 → token muddati tugagan yoki kalit o'chirilgan          → /concepts/auth/
```

## 403

Javob tanasi quyidagicha ko’rinadi:

```json
{ "code": 403, "message": "forbidden", "error": "access denied", "data": null }
```

Sababi `error` maydoniga qarab farq qiladi:

| Tanadagi `error`     | Bu nima                                                | Nima qilish kerak                |
| -------------------- | ------------------------------------------------------ | -------------------------------- |
| `access denied`      | marshrut kalit uchun ruxsat etilgan ro’yxatga kirmaydi | quyiga qarang                    |
| `company is blocked` | kompaniya bloklangan                                   | BILLZ menejeriga murojaat qilish |

### Agar xabar — `access denied` bo’lsa

Tahlil qilish tartibi:

**1-qadam. Marshrut mavjud.** Yo’l va fe’l [ma’lumotnoma](/uz/reference/api/) bilan solishtiriladi.

**2-qadam. Marshrut kalit ro’yxatiga kiradi** — [integratsiya kaliti nimalar qila oladi](/uz/reference/permissions/).

**3-qadam. Marshrut ro’yxatda yo’q** — marshrut, HTTP-metod va maqsad ko’rsatilgan holda ruxsat alohida so’raladi.

**4-qadam. Marshrut ro’yxatda bor, `403` qoldi.** Quyidagilar tekshiriladi: kompaniya bloklanmagan, kalit faollashtirilgan, so’rov aynan shu kalit bilan yuborilmoqda.

**5-qadam. Javob `200`, ma’lumotlar to’liq emas** — kalit roli ruxsatlari: [ruxsatni o’zgartirish tugmalari nimani o’zgartiradi](/uz/reference/role-permissions/).

## 404

| Sabab                     | Qanday ko’rinadi                                                | Nima qilish kerak                      |
| ------------------------- | --------------------------------------------------------------- | -------------------------------------- |
| HTTP-metodi adashtirilgan | yo’l to’g’ri, fe’l noto’g’ri                                    | fe’lni ma’lumotnoma bilan solishtirish |
| Yo’lda harf xatosi        | ortiqcha `/api`, yopishtirilgan URL, tushirib qoldirilgan slesh | yo’lni tekshirish                      |
| Metod mavjud emas         | yo’l eski hujjatlardan olingan                                  | dolzarb analogni topish                |

## Qo’shimcha materiallar

* [Integratsiya kaliti nimalarga qodir](/uz/reference/permissions/) — mavjud marshrutlarning to’liq ro’yxati
* [Kalit roli ruxsatlari](/uz/reference/role-permissions/) — ruxsat etilgan metodlar ichida kirishni boshqarish tugmalari nimani o’zgartiradi
* [Autentifikatsiya va ruxsatlar](/uz/concepts/auth/) — kirish modeli qanday tuzilgan