> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Xatolar bo‘yicha qo‘llanma

> Living Security /v1 ochiq API qaytarishi mumkin bo‘lgan barcha xatolar: ularning barqaror mashina kodi, HTTP holati va bartaraf etish usuli.

Har bir `/v1` xato javobi qat'iy belgilangan maydonlar to‘plamiga ega `application/problem+json` ([RFC 9457](https://www.rfc-editor.org/rfc/rfc9457)) formatida beriladi:

```json theme={null}
{
  "type": "https://docs.livingsecurity.com/developers/v1/errors/resource_not_found",
  "title": "Not Found",
  "status": 404,
  "detail": "No such organization.",
  "code": "resource_not_found",
  "request_id": "req_...",
  "doc_url": "https://docs.livingsecurity.com/developers/v1/errors/resource_not_found",
  "retryable": false
}
```

Mantiqiy tarmoqlanishni `code` bo‘yicha amalga oshiring, hech qachon `detail` bo‘yicha emas — `code` barqaror mashina shartnomasi hisoblanadi; `detail` esa inson o‘qishi uchun mo‘ljallangan va o‘zgarishi mumkin. `param` xatoni muayyan so‘rov parametriga bog‘lash mumkin bo‘lganda mavjud bo‘ladi. Qo‘llab-quvvatlash xizmatiga murojaat qilganingizda `request_id` ni ham ko‘rsating.

## Error codes

| Kod | HTTP holati | Qayta urinish mumkinmi |
| - | - | - |
| [`unauthorized`](/uz/developers/v1/errors/unauthorized) | 401 | Yo‘q |
| [`credential_inactive`](/uz/developers/v1/errors/credential_inactive) | 401 | Yo‘q |
| [`credential_expired`](/uz/developers/v1/errors/credential_expired) | 401 | Yo‘q |
| [`credential_revoked`](/uz/developers/v1/errors/credential_revoked) | 401 | Yo‘q |
| [`not_entitled`](/uz/developers/v1/errors/not_entitled) | 403 | Yo‘q |
| [`insufficient_permission`](/uz/developers/v1/errors/insufficient_permission) | 403 | Yo‘q |
| [`permission_denied`](/uz/developers/v1/errors/permission_denied) | 403 | Yo‘q |
| [`resource_not_found`](/uz/developers/v1/errors/resource_not_found) | 404 | Yo‘q |
| [`invalid_request`](/uz/developers/v1/errors/invalid_request) | 400 yoki 409 | Yo‘q |
| [`invalid_filter`](/uz/developers/v1/errors/invalid_filter) | 400 | Yo‘q |
| [`unsupported_version`](/uz/developers/v1/errors/unsupported_version) | 400 | Yo‘q |
| [`idempotency_key_reuse`](/uz/developers/v1/errors/idempotency_key_reuse) | 409 | Nizoning turiga bog‘liq |
| [`rate_limited`](/uz/developers/v1/errors/rate_limited) | 429 | Ha |
| [`service_unavailable`](/uz/developers/v1/errors/service_unavailable) | 503 | Ha |
| [`internal_error`](/uz/developers/v1/errors/internal_error) | 500 | Ha |

Kodlar to‘plami yopiq: yangi kodlar qo‘shilishi ochiq shartnomaning o‘zgarishi hisoblanadi va API changelog orqali e'lon qilinadi. `retryable: true` javobi holat o‘z-o‘zidan bartaraf bo‘lishi mumkinligini bildiradi; bu yozish amali hech qanday ta'sir ko‘rsatmaganini isbotlamaydi. O‘qish so‘rovlarini qayta yuborishda urinishlar soni va vaqt chegarasini cheklang, eksponensial backoff va jitter qo‘llang. `Retry-After` mavjud bo‘lsa, unga rioya qiling, jumladan qayta urinish mumkin bo‘lgan `409` yoki `429` holatlarida ham.

O‘zgartiruvchi amallar uchun operatsiyaning hujjatlashtirilgan idempotentlik va tiklash shartnomasiga amal qiling. Agar qo‘llab-quvvatlansa, dastlabki kalit va so‘rovni saqlang. Taym-aut yoki `5xx` dan keyin yangi kalit o‘ylab topmang: bu muvaffaqiyatli bajarilgan yozishni takrorlashi mumkin. `Idempotency-Key` sarlavhasi uni qo‘llab-quvvatlamaydigan operatsiyada hech qanday himoya ta'minlamaydi.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.