{"contractVersion":"discovery-docs-v1","overview":{"contractVersion":"discovery-v1","name":"dnorqobulov API","description":"dnorqobulov.uz platformasining API kirish nuqtasi. API bilan tanishing va dastlabki GET so‘rovingizni yuboring.","apiBase":"/api/v1","status":"discovery-only","docs":{"href":"/api/docs","title":"API hujjatlari"}},"endpoints":[{"method":"GET","path":"/api","title":"API bilan tanishish","description":"API nomi, qisqa qo‘llanma, versiyalangan API bazasi va hujjatlar havolasini qaytaradi.","example":{"contractVersion":"discovery-v1","name":"dnorqobulov API","description":"dnorqobulov.uz platformasining API kirish nuqtasi. API bilan tanishing va dastlabki GET so‘rovingizni yuboring.","apiBase":"/api/v1","status":"discovery-only","docs":{"href":"/api/docs","title":"API hujjatlari"}}},{"method":"GET","path":"/api/docs","title":"Hujjatlar katalogi","description":"Ishlaydigan endpointlar, boshlash qo‘llanmasi va xato kodlarini JSON ko‘rinishida qaytaradi.","example":{"contractVersion":"discovery-docs-v1","overview":{"name":"dnorqobulov API"}}}],"sections":[{"id":"access","title":"Ochiq kirish","text":"Bu ikki endpoint uchun token yoki ro‘yxatdan o‘tish kerak emas. Faqat GET ishlaydi; body va query yubormang."},{"id":"versions","title":"Versiyalar","text":"Discovery javobi discovery-v1, hujjatlar discovery-docs-v1 kontraktidan foydalanadi. /api/v1 kelajak domain operatsiyalari uchun ajratilgan; hozir bu yo‘llar faol emas."},{"id":"responses","title":"Javoblar va cheklovlar","text":"Javoblar JSON va Cache-Control: no-store bilan keladi. Manzil 2 KiB, javob 32 KiB bilan chegaralangan. X-Request-ID muammoni aniqlashda yordam beradi."},{"id":"scope","title":"MVP doirasi","text":"Hozir API tanishtiruvi va hujjatlar ishlaydi. Login, admin, ma’lumot yozish, domain endpointlari va Telegram integratsiyasi keyingi bosqichlarda qo‘shiladi."}],"errors":[{"status":400,"code":"invalid_target","message":"Path noto‘g‘ri yoki query yuborilgan."},{"status":404,"code":"not_found","message":"Endpoint hali mavjud emas."},{"status":405,"code":"method_not_allowed","message":"Faqat GET ishlating."},{"status":413,"code":"body_not_allowed","message":"So‘rov body’sini olib tashlang."},{"status":414,"code":"target_too_long","message":"So‘rov manzili limitdan oshgan."},{"status":421,"code":"untrusted_host","message":"Konfiguratsiyadagi hostdan foydalaning."},{"status":503,"code":"unavailable","message":"Xizmat vaqtincha tayyor emas. Keyin qayta urinib ko‘ring."}]}