openapi: 3.0.3 info: title: 'Agrofin API Documentation' description: '' version: 1.0.0 servers: - url: 'https://apiagrofin.okslab.uz' tags: - name: 'Admin — audit izi' description: '' - name: 'Admin — autentifikatsiya' description: '' - name: 'Admin — bosh sahifa' description: '' - name: 'Admin — murojaatlar' description: '' - name: 'Admin — raqamli yordamchi' description: '' - name: Endpoints description: '' - name: 'Fuqarolar qabuli' description: '' - name: 'Moliyalashtirish dasturlari' description: '' - name: Murojaatlar description: "\nElektron qabulxona: murojaat yuborish va uning holatini raqam + kirish\nkodi bo'yicha tekshirish. Ro'yxatdan o'tish talab qilinmaydi." - name: 'Normativ hujjatlar' description: '' - name: Qidiruv description: "\nSayt bo'ylab yagona qidiruv: normativ hujjatlar (nomi, yo'nalishi va\nraqami), moliyalashtirish dasturlari, savol-javoblar (savol va javob) va\nyangiliklar. Atama har ikki o'zbek yozuvida va barcha tillarda izlanadi." - name: 'Raqamli yordamchi' description: '' - name: Savol-javoblar description: '' - name: 'Tashkiliy tuzilma' description: '' - name: Yangiliklar description: '' - name: 'Yangiliklar — boshqaruv' description: '' paths: /api/v1/admin/audit-log: get: summary: "Audit izi ro'yxati" operationId: auditIziRoyxati description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status: error message: 'Autentifikatsiyadan o‘tilmagan.' data: [] errors: null meta: null properties: status: type: string example: error message: type: string example: 'Autentifikatsiyadan o‘tilmagan.' data: type: array example: [] errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Admin — audit izi' /api/v1/admin/login: post: summary: 'Admin panelga kirish (cookie sessiyasi)' operationId: adminPanelgaKirishcookieSessiyasi description: '' parameters: [] responses: { } tags: - 'Admin — autentifikatsiya' requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'validation.email validation.max.' example: gbailey@example.net password: type: string description: '' example: '|]|{+-' required: - email - password security: [] /api/v1/admin/logout: post: summary: 'Sessiyani yopish' operationId: sessiyaniYopish description: '' parameters: [] responses: { } tags: - 'Admin — autentifikatsiya' security: [] /api/v1/admin/me: get: summary: 'Kirgan adminning profili va ruxsatlari' operationId: kirganAdminningProfiliVaRuxsatlari description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status: error message: 'Autentifikatsiyadan o‘tilmagan.' data: [] errors: null meta: null properties: status: type: string example: error message: type: string example: 'Autentifikatsiyadan o‘tilmagan.' data: type: array example: [] errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Admin — autentifikatsiya' /api/v1/admin/dashboard/summary: get: summary: "Bosh sahifa ko'rsatkichlari" operationId: boshSahifaKorsatkichlari description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok message: Success data: stats: users: 3 published_posts: 210 post_views: 15320 assistant_sessions: 41 trend: - month: 2026-04 published_posts: 6 - month: 2026-05 published_posts: 9 - month: 2026-06 published_posts: 4 - month: 2026-07 published_posts: 11 - month: 2026-08 published_posts: 7 - month: 2026-09 published_posts: 2 errors: null meta: null properties: status: type: string example: ok message: type: string example: Success data: type: object properties: stats: type: object properties: users: type: integer example: 3 published_posts: type: integer example: 210 post_views: type: integer example: 15320 assistant_sessions: type: integer example: 41 trend: type: array example: - month: 2026-04 published_posts: 6 - month: 2026-05 published_posts: 9 - month: 2026-06 published_posts: 4 - month: 2026-07 published_posts: 11 - month: 2026-08 published_posts: 7 - month: 2026-09 published_posts: 2 items: type: object properties: month: type: string example: 2026-04 published_posts: type: integer example: 6 errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Admin — bosh sahifa' /api/v1/admin/appeals: get: summary: "Murojaatlar ro'yxati" operationId: murojaatlarRoyxati description: '' parameters: - in: query name: 'filter[search]' description: "Raqam, mavzu, ism, telefon yoki email bo'yicha." example: 2026/09 required: false schema: type: string description: "Raqam, mavzu, ism, telefon yoki email bo'yicha." example: 2026/09 - in: query name: 'filter[status]' description: 'received, in_review, info_requested, answered, rejected.' example: received required: false schema: type: string description: 'received, in_review, info_requested, answered, rejected.' example: received - in: query name: 'filter[type]' description: 'application, complaint, proposal, corruption, conflict_of_interest.' example: complaint required: false schema: type: string description: 'application, complaint, proposal, corruption, conflict_of_interest.' example: complaint - in: query name: 'filter[is_anonymous]' description: '' example: false required: false schema: type: boolean description: '' example: false - in: query name: 'filter[open]' description: 'Faqat yakunlanmaganlar.' example: true required: false schema: type: boolean description: 'Faqat yakunlanmaganlar.' example: true - in: query name: sort description: 'created_at, status_changed_at, status, type yoki id; `-` teskari.' example: '-created_at' required: false schema: type: string description: 'created_at, status_changed_at, status, type yoki id; `-` teskari.' example: '-created_at' - in: query name: per_page description: '' example: 20 required: false schema: type: integer description: '' example: 20 responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 37 tracking_number: 2026/09-0333 type: application status: received is_anonymous: false applicant_name: "Prof. Ashtyn O'Connell" applicant_phone: '+998908980089' applicant_email: pagac.skylar@example.org applicant_region: 'Toshkent shahri' subject: 'Laboriosam est alias.' locale: uz deadline_at: '2026-09-27T13:16:35+00:00' is_overdue: false status_changed_at: '2026-09-12T13:16:35+00:00' responded_at: null created_at: '2026-09-12T13:16:35+00:00' - id: 38 tracking_number: 2026/09-5250 type: application status: received is_anonymous: false applicant_name: 'Prof. Lydia Brekke V' applicant_phone: '+998909938658' applicant_email: buster.bauch@example.com applicant_region: 'Toshkent shahri' subject: 'Et error neque recusandae.' locale: uz deadline_at: '2026-09-27T13:16:35+00:00' is_overdue: false status_changed_at: '2026-09-12T13:16:35+00:00' responded_at: null created_at: '2026-09-12T13:16:35+00:00' properties: data: type: array example: - id: 37 tracking_number: 2026/09-0333 type: application status: received is_anonymous: false applicant_name: "Prof. Ashtyn O'Connell" applicant_phone: '+998908980089' applicant_email: pagac.skylar@example.org applicant_region: 'Toshkent shahri' subject: 'Laboriosam est alias.' locale: uz deadline_at: '2026-09-27T13:16:35+00:00' is_overdue: false status_changed_at: '2026-09-12T13:16:35+00:00' responded_at: null created_at: '2026-09-12T13:16:35+00:00' - id: 38 tracking_number: 2026/09-5250 type: application status: received is_anonymous: false applicant_name: 'Prof. Lydia Brekke V' applicant_phone: '+998909938658' applicant_email: buster.bauch@example.com applicant_region: 'Toshkent shahri' subject: 'Et error neque recusandae.' locale: uz deadline_at: '2026-09-27T13:16:35+00:00' is_overdue: false status_changed_at: '2026-09-12T13:16:35+00:00' responded_at: null created_at: '2026-09-12T13:16:35+00:00' items: type: object properties: id: type: integer example: 37 tracking_number: type: string example: 2026/09-0333 type: type: string example: application status: type: string example: received is_anonymous: type: boolean example: false applicant_name: type: string example: "Prof. Ashtyn O'Connell" applicant_phone: type: string example: '+998908980089' applicant_email: type: string example: pagac.skylar@example.org applicant_region: type: string example: 'Toshkent shahri' subject: type: string example: 'Laboriosam est alias.' locale: type: string example: uz deadline_at: type: string example: '2026-09-27T13:16:35+00:00' is_overdue: type: boolean example: false status_changed_at: type: string example: '2026-09-12T13:16:35+00:00' responded_at: type: string example: null nullable: true created_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Admin — murojaatlar' '/api/v1/admin/appeals/{id}': get: summary: 'Bitta murojaat, tarixi bilan' operationId: bittaMurojaatTarixiBilan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 39 tracking_number: 2026/09-6775 type: application status: received is_anonymous: false applicant_name: 'Jermaine Tillman' applicant_phone: '+998902631582' applicant_email: aschuster@example.com applicant_region: 'Toshkent shahri' subject: 'Quo omnis nostrum aut.' locale: uz deadline_at: '2026-09-27T13:16:35+00:00' is_overdue: false status_changed_at: '2026-09-12T13:16:35+00:00' responded_at: null created_at: '2026-09-12T13:16:35+00:00' body: 'Nostrum qui commodi incidunt iure. Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora. Voluptatem laboriosam praesentium quis adipisci.' response: null access_code: DL5625 ip: 11.196.14.107 user_agent: null history: [] properties: data: type: object properties: id: type: integer example: 39 tracking_number: type: string example: 2026/09-6775 type: type: string example: application status: type: string example: received is_anonymous: type: boolean example: false applicant_name: type: string example: 'Jermaine Tillman' applicant_phone: type: string example: '+998902631582' applicant_email: type: string example: aschuster@example.com applicant_region: type: string example: 'Toshkent shahri' subject: type: string example: 'Quo omnis nostrum aut.' locale: type: string example: uz deadline_at: type: string example: '2026-09-27T13:16:35+00:00' is_overdue: type: boolean example: false status_changed_at: type: string example: '2026-09-12T13:16:35+00:00' responded_at: type: string example: null nullable: true created_at: type: string example: '2026-09-12T13:16:35+00:00' body: type: string example: 'Nostrum qui commodi incidunt iure. Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora. Voluptatem laboriosam praesentium quis adipisci.' response: type: string example: null nullable: true access_code: type: string example: DL5625 ip: type: string example: 11.196.14.107 user_agent: type: string example: null nullable: true history: type: array example: [] tags: - 'Admin — murojaatlar' parameters: - in: path name: id description: 'The ID of the appeal.' example: '564' required: true schema: type: string '/api/v1/admin/appeals/{id}/status': patch: summary: "Holatni o'zgartirish" operationId: holatniOzgartirish description: "Har bir o'zgarish tarixga yoziladi va fuqaro holat sahifasida ko'radi.\n`answered` uchun `response` shart." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 40 tracking_number: 2026/09-4027 type: application status: received is_anonymous: false applicant_name: 'Mr. Gerhard Dach Jr.' applicant_phone: '+998906980841' applicant_email: cecil42@example.com applicant_region: 'Toshkent shahri' subject: 'Perspiciatis quo omnis nostrum aut adipisci.' locale: uz deadline_at: '2026-09-27T13:16:35+00:00' is_overdue: false status_changed_at: '2026-09-12T13:16:35+00:00' responded_at: null created_at: '2026-09-12T13:16:35+00:00' body: 'Qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.' response: null access_code: MI9365 ip: 158.16.197.2 user_agent: null history: [] properties: data: type: object properties: id: type: integer example: 40 tracking_number: type: string example: 2026/09-4027 type: type: string example: application status: type: string example: received is_anonymous: type: boolean example: false applicant_name: type: string example: 'Mr. Gerhard Dach Jr.' applicant_phone: type: string example: '+998906980841' applicant_email: type: string example: cecil42@example.com applicant_region: type: string example: 'Toshkent shahri' subject: type: string example: 'Perspiciatis quo omnis nostrum aut adipisci.' locale: type: string example: uz deadline_at: type: string example: '2026-09-27T13:16:35+00:00' is_overdue: type: boolean example: false status_changed_at: type: string example: '2026-09-12T13:16:35+00:00' responded_at: type: string example: null nullable: true created_at: type: string example: '2026-09-12T13:16:35+00:00' body: type: string example: 'Qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.' response: type: string example: null nullable: true access_code: type: string example: MI9365 ip: type: string example: 158.16.197.2 user_agent: type: string example: null nullable: true history: type: array example: [] tags: - 'Admin — murojaatlar' requestBody: required: true content: application/json: schema: type: object properties: status: type: string description: 'received, in_review, info_requested, answered, rejected.' example: in_review note: type: string description: "Fuqaroga ko'rinadigan izoh." example: "Ariza mas'ul bo'limga yuborildi." nullable: true response: type: string description: 'Yakuniy javob (`answered` uchun shart).' example: 'Kredit 2026 yil 1 sentabrdan ajratiladi.' nullable: true required: - status parameters: - in: path name: id description: 'The ID of the appeal.' example: '564' required: true schema: type: string /api/v1/admin/assistant/knowledge: get: summary: "Bilim bazasining qo'lda yoziladigan qismi" operationId: bilimBazasiningQoldaYoziladiganQismi description: "Bazada yozuv bo'lmasa yordamchi repodagi faylni ishlatadi — muharrir ham\naynan shu matnni ko'rsatadi, aks holda xodim bo'sh maydondan boshlab\nmavjud bilimni yo'qotib qo'yardi." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok message: Success data: content: '## Manzil...' updated_at: null source: file errors: null meta: null properties: status: type: string example: ok message: type: string example: Success data: type: object properties: content: type: string example: '## Manzil...' updated_at: type: string example: null nullable: true source: type: string example: file errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Admin — raqamli yordamchi' put: summary: 'Bilim bazasini yangilash' operationId: bilimBazasiniYangilash description: '' parameters: [] responses: { } tags: - 'Admin — raqamli yordamchi' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Markdown matn.' example: '## Manzil...' required: - content /api/v1/admin/assistant/sessions: get: summary: "Suhbatlar ro'yxati" operationId: suhbatlarRoyxati description: '' parameters: - in: query name: 'filter[search]' description: "Qurilma, ism yoki telefon bo'yicha qidiruv." example: Xusan required: false schema: type: string description: "Qurilma, ism yoki telefon bo'yicha qidiruv." example: Xusan - in: query name: 'filter[device_id]' description: "Qurilma belgisi bo'yicha qisman qidiruv." example: dev-3f required: false schema: type: string description: "Qurilma belgisi bo'yicha qisman qidiruv." example: dev-3f - in: query name: 'filter[locale]' description: 'uz, ru yoki uz_cyrl.' example: uz required: false schema: type: string description: 'uz, ru yoki uz_cyrl.' example: uz - in: query name: 'filter[with_phone]' description: 'Faqat telefon qoldirganlar.' example: true required: false schema: type: boolean description: 'Faqat telefon qoldirganlar.' example: true - in: query name: 'filter[human_takeover]' description: "Faqat xodim qo'lidagi suhbatlar." example: true required: false schema: type: boolean description: "Faqat xodim qo'lidagi suhbatlar." example: true - in: query name: sort description: "last_seen_at, messages_count yoki id; oldiga `-` qo'yilsa teskari." example: '-last_seen_at' required: false schema: type: string description: "last_seen_at, messages_count yoki id; oldiga `-` qo'yilsa teskari." example: '-last_seen_at' - in: query name: per_page description: '' example: 20 required: false schema: type: integer description: '' example: 20 responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 204 device_id: dev-gz37449171 ip: 156.179.93.117 locale: uz name: null phone: null human_takeover: false messages_count: 0 daily_count: 0 last_seen_at: null created_at: '2026-09-12T13:16:35+00:00' - id: 205 device_id: dev-vd73089432 ip: 197.200.161.23 locale: uz name: null phone: null human_takeover: false messages_count: 0 daily_count: 0 last_seen_at: null created_at: '2026-09-12T13:16:35+00:00' properties: data: type: array example: - id: 204 device_id: dev-gz37449171 ip: 156.179.93.117 locale: uz name: null phone: null human_takeover: false messages_count: 0 daily_count: 0 last_seen_at: null created_at: '2026-09-12T13:16:35+00:00' - id: 205 device_id: dev-vd73089432 ip: 197.200.161.23 locale: uz name: null phone: null human_takeover: false messages_count: 0 daily_count: 0 last_seen_at: null created_at: '2026-09-12T13:16:35+00:00' items: type: object properties: id: type: integer example: 204 device_id: type: string example: dev-gz37449171 ip: type: string example: 156.179.93.117 locale: type: string example: uz name: type: string example: null nullable: true phone: type: string example: null nullable: true human_takeover: type: boolean example: false messages_count: type: integer example: 0 daily_count: type: integer example: 0 last_seen_at: type: string example: null nullable: true created_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Admin — raqamli yordamchi' '/api/v1/admin/assistant/sessions/{id}': get: summary: 'Bitta suhbat, xabarlari bilan' operationId: bittaSuhbatXabarlariBilan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 206 device_id: dev-jn96548529 ip: 51.210.32.30 locale: uz name: null phone: null human_takeover: false messages_count: 0 daily_count: 0 last_seen_at: null created_at: '2026-09-12T13:16:35+00:00' properties: data: type: object properties: id: type: integer example: 206 device_id: type: string example: dev-jn96548529 ip: type: string example: 51.210.32.30 locale: type: string example: uz name: type: string example: null nullable: true phone: type: string example: null nullable: true human_takeover: type: boolean example: false messages_count: type: integer example: 0 daily_count: type: integer example: 0 last_seen_at: type: string example: null nullable: true created_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Admin — raqamli yordamchi' delete: summary: "Suhbatni xabarlari bilan o'chirish" operationId: suhbatniXabarlariBilanOchirish description: '' parameters: [] responses: { } tags: - 'Admin — raqamli yordamchi' parameters: - in: path name: id description: 'The ID of the session.' example: '564' required: true schema: type: string '/api/v1/admin/assistant/sessions/{id}/messages': post: summary: 'Xodim javobi' operationId: xodimJavobi description: "Xabar `operator` rolida saqlanadi, suhbat xodim qo'liga o'tadi (yordamchi jim turadi)." parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: status: ok message: Success data: id: 12 role: operator content: ... generator: null source: null created_at: '2026-09-11T12:00:00+00:00' human_takeover: true errors: null meta: null properties: status: type: string example: ok message: type: string example: Success data: type: object properties: id: type: integer example: 12 role: type: string example: operator content: type: string example: ... generator: type: string example: null nullable: true source: type: string example: null nullable: true created_at: type: string example: '2026-09-11T12:00:00+00:00' human_takeover: type: boolean example: true errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Admin — raqamli yordamchi' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Javob matni.' example: 'Hujjatlaringizni qabulxonaga olib keling.' required: - content parameters: - in: path name: id description: 'The ID of the session.' example: '564' required: true schema: type: string '/api/v1/admin/assistant/sessions/{id}/release': post: summary: 'Suhbatni yordamchiga qaytarish' operationId: suhbatniYordamchigaQaytarish description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok message: Success data: human_takeover: false errors: null meta: null properties: status: type: string example: ok message: type: string example: Success data: type: object properties: human_takeover: type: boolean example: false errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Admin — raqamli yordamchi' parameters: - in: path name: id description: 'The ID of the session.' example: '564' required: true schema: type: string /api/v1/login: post: summary: '' operationId: postApiV1Login description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 102 name: 'Mrs. Justina Gaylord' email: lafayette.considine@example.com created_at: '2026-09-12 13:16:36' updated_at: '2026-09-12 13:16:36' properties: data: type: object properties: id: type: integer example: 102 name: type: string example: 'Mrs. Justina Gaylord' email: type: string example: lafayette.considine@example.com created_at: type: string example: '2026-09-12 13:16:36' updated_at: type: string example: '2026-09-12 13:16:36' tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: validation.email. example: gbailey@example.net password: type: string description: '' example: '|]|{+-' required: - email - password security: [] /api/v1/logout: post: summary: 'Revoke the current access token.' operationId: revokeTheCurrentAccessToken description: '' parameters: [] responses: { } tags: - Endpoints security: [] /api/v1/user: get: summary: '' operationId: getApiV1User description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 103 name: 'Mr. Adriel Romaguera' email: antonio24@example.net created_at: '2026-09-12 13:16:36' updated_at: '2026-09-12 13:16:36' properties: data: type: object properties: id: type: integer example: 103 name: type: string example: 'Mr. Adriel Romaguera' email: type: string example: antonio24@example.net created_at: type: string example: '2026-09-12 13:16:36' updated_at: type: string example: '2026-09-12 13:16:36' tags: - Endpoints security: [] put: summary: '' operationId: putApiV1User description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 105 name: 'Mrs. Justina Gaylord' email: cormier.nick@example.com created_at: '2026-09-12 13:16:36' updated_at: '2026-09-12 13:16:36' properties: data: type: object properties: id: type: integer example: 105 name: type: string example: 'Mrs. Justina Gaylord' email: type: string example: cormier.nick@example.com created_at: type: string example: '2026-09-12 13:16:36' updated_at: type: string example: '2026-09-12 13:16:36' tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: validation.max. example: b email: type: string description: 'validation.email validation.max.' example: zbailey@example.net nullable: true password: type: string description: '' example: '|]|{+-' nullable: true required: - name security: [] delete: summary: '' operationId: deleteApiV1User description: '' parameters: [] responses: { } tags: - Endpoints security: [] '/api/v1/user/{id}': get: summary: '' operationId: getApiV1UserId description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 104 name: 'Pearl Hauck Sr.' email: alayna44@example.org created_at: '2026-09-12 13:16:36' updated_at: '2026-09-12 13:16:36' properties: data: type: object properties: id: type: integer example: 104 name: type: string example: 'Pearl Hauck Sr.' email: type: string example: alayna44@example.org created_at: type: string example: '2026-09-12 13:16:36' updated_at: type: string example: '2026-09-12 13:16:36' tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the user.' example: 1 required: true schema: type: integer /api/v1/reception-slots: get: summary: 'Qabul jadvali' operationId: qabulJadvali description: "Shanba, yakshanba va bayram kunlari qabul o'tkazilmaydi." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 52 full_name: 'Miss Aliya Ortiz IV' position: 'Weapons Specialists' address: "97967 Tobin Highway\nKendraburgh, FL 96823" weekday: wednesday starts_at: '10:00' ends_at: '12:00' phone: null - id: 53 full_name: 'Cassidy Strosin' position: 'Buffing and Polishing Operator' address: "58399 Terrill Plaza Apt. 887\nPort Percyside, NY 96046" weekday: thursday starts_at: '10:00' ends_at: '12:00' phone: null properties: data: type: array example: - id: 52 full_name: 'Miss Aliya Ortiz IV' position: 'Weapons Specialists' address: "97967 Tobin Highway\nKendraburgh, FL 96823" weekday: wednesday starts_at: '10:00' ends_at: '12:00' phone: null - id: 53 full_name: 'Cassidy Strosin' position: 'Buffing and Polishing Operator' address: "58399 Terrill Plaza Apt. 887\nPort Percyside, NY 96046" weekday: thursday starts_at: '10:00' ends_at: '12:00' phone: null items: type: object properties: id: type: integer example: 52 full_name: type: string example: 'Miss Aliya Ortiz IV' position: type: string example: 'Weapons Specialists' address: type: string example: "97967 Tobin Highway\nKendraburgh, FL 96823" weekday: type: string example: wednesday starts_at: type: string example: '10:00' ends_at: type: string example: '12:00' phone: type: string example: null nullable: true tags: - 'Fuqarolar qabuli' security: [] /api/v1/programs: get: summary: "Dasturlar ro'yxati" operationId: dasturlarRoyxati description: '' parameters: - in: query name: 'filter[sector]' description: "Yo'nalish." example: cotton required: false schema: type: string description: "Yo'nalish." example: cotton - in: query name: 'filter[kind]' description: 'Turi: credit, leasing, subsidy.' example: credit required: false schema: type: string description: 'Turi: credit, leasing, subsidy.' example: credit - in: query name: 'filter[search]' description: "Sarlavha bo'yicha qidiruv." example: paxta required: false schema: type: string description: "Sarlavha bo'yicha qidiruv." example: paxta - in: query name: per_page description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 20 required: false schema: type: integer description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 20 responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 129 slug: fugiat-sunt-nihil sector: cotton kind: credit title: 'Mollitia modi deserunt aut ab provident perspiciatis quo.' summary: 'Aut adipisci quidem nostrum qui commodi incidunt iure. Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.' body: null required_documents: null - id: 130 slug: voluptatem-laboriosam-praesentium sector: cotton kind: credit title: 'Molestias fugit deleniti distinctio eum doloremque id.' summary: 'Aliquam veniam corporis dolorem mollitia deleniti nemo. Quia officia est dignissimos neque. Odio veritatis excepturi doloribus delectus fugit qui repudiandae. Est alias tenetur ratione.' body: null required_documents: null properties: data: type: array example: - id: 129 slug: fugiat-sunt-nihil sector: cotton kind: credit title: 'Mollitia modi deserunt aut ab provident perspiciatis quo.' summary: 'Aut adipisci quidem nostrum qui commodi incidunt iure. Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.' body: null required_documents: null - id: 130 slug: voluptatem-laboriosam-praesentium sector: cotton kind: credit title: 'Molestias fugit deleniti distinctio eum doloremque id.' summary: 'Aliquam veniam corporis dolorem mollitia deleniti nemo. Quia officia est dignissimos neque. Odio veritatis excepturi doloribus delectus fugit qui repudiandae. Est alias tenetur ratione.' body: null required_documents: null items: type: object properties: id: type: integer example: 129 slug: type: string example: fugiat-sunt-nihil sector: type: string example: cotton kind: type: string example: credit title: type: string example: 'Mollitia modi deserunt aut ab provident perspiciatis quo.' summary: type: string example: 'Aut adipisci quidem nostrum qui commodi incidunt iure. Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.' body: type: string example: null nullable: true required_documents: type: string example: null nullable: true tags: - 'Moliyalashtirish dasturlari' security: [] /api/v1/programs/match: get: summary: 'Sizga mos moliyalashtirishni toping' operationId: sizgaMosMoliyalashtirishniToping description: 'Uchta savolga javob asosida mos dasturlarni qaytaradi.' parameters: - in: query name: borrower_type description: 'Qarz oluvchi turi yoki vergul bilan bir nechtasi.' example: 'farmer,seed_farm' required: false schema: type: string description: 'Qarz oluvchi turi yoki vergul bilan bir nechtasi.' example: 'farmer,seed_farm' - in: query name: sector description: "Yo'nalish yoki vergul bilan bir nechtasi." example: 'cotton,wheat' required: false schema: type: string description: "Yo'nalish yoki vergul bilan bir nechtasi." example: 'cotton,wheat' - in: query name: kind description: 'Turi: credit, leasing, subsidy.' example: credit required: false schema: type: string description: 'Turi: credit, leasing, subsidy.' example: credit responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 131 slug: et-animi-quos sector: commodity_wheat kind: credit title: 'Fugiat sunt nihil accusantium harum mollitia.' summary: 'Aut ab provident perspiciatis quo omnis nostrum aut. Quidem nostrum qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.' body: null required_documents: null - id: 132 slug: adipisci-molestias-fugit-deleniti sector: oilseed kind: credit title: 'Doloremque id aut libero aliquam veniam corporis.' summary: 'Deleniti nemo odit quia officia. Dignissimos neque blanditiis odio. Excepturi doloribus delectus fugit qui repudiandae laboriosam.' body: null required_documents: null properties: data: type: array example: - id: 131 slug: et-animi-quos sector: commodity_wheat kind: credit title: 'Fugiat sunt nihil accusantium harum mollitia.' summary: 'Aut ab provident perspiciatis quo omnis nostrum aut. Quidem nostrum qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.' body: null required_documents: null - id: 132 slug: adipisci-molestias-fugit-deleniti sector: oilseed kind: credit title: 'Doloremque id aut libero aliquam veniam corporis.' summary: 'Deleniti nemo odit quia officia. Dignissimos neque blanditiis odio. Excepturi doloribus delectus fugit qui repudiandae laboriosam.' body: null required_documents: null items: type: object properties: id: type: integer example: 131 slug: type: string example: et-animi-quos sector: type: string example: commodity_wheat kind: type: string example: credit title: type: string example: 'Fugiat sunt nihil accusantium harum mollitia.' summary: type: string example: 'Aut ab provident perspiciatis quo omnis nostrum aut. Quidem nostrum qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.' body: type: string example: null nullable: true required_documents: type: string example: null nullable: true tags: - 'Moliyalashtirish dasturlari' requestBody: required: false content: application/json: schema: type: object properties: borrower_type: type: string description: validation.max. example: b nullable: true sector: type: string description: validation.max. example: 'n' nullable: true kind: type: string description: '' example: architecto enum: - credit - leasing - subsidy nullable: true borrower_types: type: array description: '' example: - architecto items: type: string enum: - farmer - seed_farm - cluster - textile_enterprise - grain_receiver - leasing_organization - entrepreneur sectors: type: array description: '' example: - architecto items: type: string enum: - cotton - wheat - seed_wheat - commodity_wheat - machinery - fruit - potato - greenhouse - oilseed - livestock - fishery security: [] '/api/v1/programs/{slug}': get: summary: 'Bitta dastur' operationId: bittaDastur description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 133 slug: et-fugiat-sunt sector: commodity_wheat kind: credit title: 'Harum mollitia modi deserunt aut ab provident perspiciatis quo.' summary: 'Aut adipisci quidem nostrum qui commodi incidunt iure. Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.' body: null required_documents: null properties: data: type: object properties: id: type: integer example: 133 slug: type: string example: et-fugiat-sunt sector: type: string example: commodity_wheat kind: type: string example: credit title: type: string example: 'Harum mollitia modi deserunt aut ab provident perspiciatis quo.' summary: type: string example: 'Aut adipisci quidem nostrum qui commodi incidunt iure. Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.' body: type: string example: null nullable: true required_documents: type: string example: null nullable: true tags: - 'Moliyalashtirish dasturlari' security: [] parameters: - in: path name: slug description: 'Dastur manzili.' example: paxta-yetishtirish required: true schema: type: string /api/v1/appeals: post: summary: 'Murojaat yuborish' operationId: murojaatYuborish description: "Javobda `tracking_number` va `access_code` qaytadi — ikkalasi holatni\ntekshirish uchun kerak. Anonim yuborish faqat `corruption` va\n`conflict_of_interest` turlarida mumkin." parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: status: ok message: 'Murojaatingiz qabul qilindi.' data: tracking_number: 2026/09-0001 access_code: K7M4QP status: received deadline_at: '2026-09-27T10:00:00+00:00' created_at: '2026-09-12T10:00:00+00:00' errors: null meta: null properties: status: type: string example: ok message: type: string example: 'Murojaatingiz qabul qilindi.' data: type: object properties: tracking_number: type: string example: 2026/09-0001 access_code: type: string example: K7M4QP status: type: string example: received deadline_at: type: string example: '2026-09-27T10:00:00+00:00' created_at: type: string example: '2026-09-12T10:00:00+00:00' errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - Murojaatlar requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: 'application, complaint, proposal, corruption yoki conflict_of_interest.' example: application is_anonymous: type: boolean description: 'Faqat korrupsiya kanalida.' example: false applicant_name: type: string description: "Anonim bo'lmasa shart." example: 'Alisher Karimov' applicant_phone: type: string description: "Anonim bo'lmasa shart." example: '+998901234567' applicant_email: type: string description: '' example: alisher@example.com nullable: true applicant_region: type: string description: '' example: "Farg'ona viloyati" nullable: true subject: type: string description: '5–200 belgi.' example: "Bug'doy krediti bo'yicha savol" body: type: string description: '20–5000 belgi.' example: '2026 yil hosili uchun kredit ajratish muddati qachon boshlanadi?' website: type: string description: '' example: null required: - type - subject - body security: [] /api/v1/appeals/status: post: summary: 'Murojaat holatini tekshirish' operationId: murojaatHolatiniTekshirish description: 'POST, chunki kirish kodi URL va server jurnallariga tushmasligi kerak.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: tracking_number: 2026/09-7195 type: application subject: 'Nostrum omnis autem et.' body: 'Dolores enim non facere tempora. Voluptatem laboriosam praesentium quis adipisci. Fugit deleniti distinctio eum doloremque id aut libero. Veniam corporis dolorem mollitia.' status: received is_final: false response: null responded_at: null deadline_at: '2026-09-27T13:16:35+00:00' is_overdue: false created_at: '2026-09-12T13:16:35+00:00' history: [] properties: data: type: object properties: tracking_number: type: string example: 2026/09-7195 type: type: string example: application subject: type: string example: 'Nostrum omnis autem et.' body: type: string example: 'Dolores enim non facere tempora. Voluptatem laboriosam praesentium quis adipisci. Fugit deleniti distinctio eum doloremque id aut libero. Veniam corporis dolorem mollitia.' status: type: string example: received is_final: type: boolean example: false response: type: string example: null nullable: true responded_at: type: string example: null nullable: true deadline_at: type: string example: '2026-09-27T13:16:35+00:00' is_overdue: type: boolean example: false created_at: type: string example: '2026-09-12T13:16:35+00:00' history: type: array example: [] 404: description: '' content: application/json: schema: type: object example: status: error message: 'Murojaat topilmadi. Raqam va kirish kodini tekshiring.' data: [] errors: error: 'Murojaat topilmadi. Raqam va kirish kodini tekshiring.' meta: null properties: status: type: string example: error message: type: string example: 'Murojaat topilmadi. Raqam va kirish kodini tekshiring.' data: type: array example: [] errors: type: object properties: error: type: string example: 'Murojaat topilmadi. Raqam va kirish kodini tekshiring.' meta: type: string example: null nullable: true tags: - Murojaatlar requestBody: required: true content: application/json: schema: type: object properties: tracking_number: type: string description: '' example: 2026/09-0001 access_code: type: string description: '' example: K7M4QP required: - tracking_number - access_code security: [] /api/v1/legal-documents: get: summary: 'Hujjatlar reestri' operationId: hujjatlarReestri description: '' parameters: - in: query name: 'filter[doc_type]' description: 'Hujjat turi.' example: cabinet_resolution required: false schema: type: string description: 'Hujjat turi.' example: cabinet_resolution - in: query name: 'filter[relevance]' description: 'Aloqadorlik darajasi.' example: direct_primary required: false schema: type: string description: 'Aloqadorlik darajasi.' example: direct_primary - in: query name: 'filter[state]' description: 'Holati: in_force, amended, repealed.' example: in_force required: false schema: type: string description: 'Holati: in_force, amended, repealed.' example: in_force - in: query name: 'filter[year]' description: 'Qabul qilingan yil.' example: 2023 required: false schema: type: integer description: 'Qabul qilingan yil.' example: 2023 - in: query name: 'filter[direction]' description: "Yo'nalish (joriy tildagi yorliq, `legal-documents/directions`dan)." example: Paxtachilik required: false schema: type: string description: "Yo'nalish (joriy tildagi yorliq, `legal-documents/directions`dan)." example: Paxtachilik - in: query name: 'filter[search]' description: "Sarlavha, yo'nalish yoki hujjat raqami bo'yicha qidiruv (har ikki yozuvda)." example: '680' required: false schema: type: string description: "Sarlavha, yo'nalish yoki hujjat raqami bo'yicha qidiruv (har ikki yozuvda)." example: '680' - in: query name: sort description: "Tartib: adopted_on, number, id (oldiga «-» qo'yilsa teskari)." example: '-adopted_on' required: false schema: type: string description: "Tartib: adopted_on, number, id (oldiga «-» qo'yilsa teskari)." example: '-adopted_on' - in: query name: per_page description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 20 required: false schema: type: integer description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 20 responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 141 doc_type: presidential_resolution number: '690' adopted_on: '2021-09-23' title: 'Quis adipisci molestias fugit deleniti distinctio eum.' direction: 'doloremque id aut' relevance: direct state: in_force external_url: null - id: 142 doc_type: ministry_order number: '3374' adopted_on: '2026-08-23' title: 'Mollitia deleniti nemo odit quia officia.' direction: 'est dignissimos neque' relevance: related state: in_force external_url: null properties: data: type: array example: - id: 141 doc_type: presidential_resolution number: '690' adopted_on: '2021-09-23' title: 'Quis adipisci molestias fugit deleniti distinctio eum.' direction: 'doloremque id aut' relevance: direct state: in_force external_url: null - id: 142 doc_type: ministry_order number: '3374' adopted_on: '2026-08-23' title: 'Mollitia deleniti nemo odit quia officia.' direction: 'est dignissimos neque' relevance: related state: in_force external_url: null items: type: object properties: id: type: integer example: 141 doc_type: type: string example: presidential_resolution number: type: string example: '690' adopted_on: type: string example: '2021-09-23' title: type: string example: 'Quis adipisci molestias fugit deleniti distinctio eum.' direction: type: string example: 'doloremque id aut' relevance: type: string example: direct state: type: string example: in_force external_url: type: string example: null nullable: true tags: - 'Normativ hujjatlar' security: [] /api/v1/legal-documents/changes: get: summary: "So'nggi o'zgarishlar" operationId: songgiOzgarishlar description: "Qonunchilikka eng yaqinda o'zgartirish kiritilgan hujjatlar." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 143 doc_type: presidential_resolution number: '1789' adopted_on: '2024-09-17' title: 'Delectus fugit qui repudiandae laboriosam.' direction: 'est alias tenetur' relevance: direct_primary state: in_force external_url: null - id: 144 doc_type: charter number: '1104' adopted_on: '2021-04-19' title: 'Et recusandae modi rerum ex repellendus assumenda et.' direction: 'tenetur ab reiciendis' relevance: direct_primary state: in_force external_url: null properties: data: type: array example: - id: 143 doc_type: presidential_resolution number: '1789' adopted_on: '2024-09-17' title: 'Delectus fugit qui repudiandae laboriosam.' direction: 'est alias tenetur' relevance: direct_primary state: in_force external_url: null - id: 144 doc_type: charter number: '1104' adopted_on: '2021-04-19' title: 'Et recusandae modi rerum ex repellendus assumenda et.' direction: 'tenetur ab reiciendis' relevance: direct_primary state: in_force external_url: null items: type: object properties: id: type: integer example: 143 doc_type: type: string example: presidential_resolution number: type: string example: '1789' adopted_on: type: string example: '2024-09-17' title: type: string example: 'Delectus fugit qui repudiandae laboriosam.' direction: type: string example: 'est alias tenetur' relevance: type: string example: direct_primary state: type: string example: in_force external_url: type: string example: null nullable: true tags: - 'Normativ hujjatlar' security: [] /api/v1/legal-documents/directions: get: summary: "Yo'nalishlar ro'yxati" operationId: yonalishlarRoyxati description: "Faol hujjatlarda uchraydigan yo'nalish yorliqlari (joriy tilda) — saytdagi filtr uchun." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok message: Success data: - Chorvachilik - Lizing - Paxtachilik errors: null meta: null properties: status: type: string example: ok message: type: string example: Success data: type: array example: - Chorvachilik - Lizing - Paxtachilik items: type: string errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Normativ hujjatlar' security: [] '/api/v1/legal-documents/{id}': get: summary: "Bitta hujjat va uning o'zgartirishlar tarixi" operationId: bittaHujjatVaUningOzgartirishlarTarixi description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 145 doc_type: presidential_decree number: '9925' adopted_on: '2024-11-16' title: 'Accusantium harum mollitia modi deserunt aut ab.' direction: 'provident perspiciatis quo' relevance: direct_primary state: in_force external_url: null content: null files: [] properties: data: type: object properties: id: type: integer example: 145 doc_type: type: string example: presidential_decree number: type: string example: '9925' adopted_on: type: string example: '2024-11-16' title: type: string example: 'Accusantium harum mollitia modi deserunt aut ab.' direction: type: string example: 'provident perspiciatis quo' relevance: type: string example: direct_primary state: type: string example: in_force external_url: type: string example: null nullable: true content: type: string example: null nullable: true files: type: array example: [] tags: - 'Normativ hujjatlar' security: [] parameters: - in: path name: id description: 'Hujjat raqami.' example: 1 required: true schema: type: integer /api/v1/search: get: summary: Qidiruv operationId: qidiruv description: '' parameters: - in: query name: q description: "Qidiruv so'zi (2–120 belgi)." example: paxta required: true schema: type: string description: "Qidiruv so'zi (2–120 belgi)." example: paxta - in: query name: limit description: 'Har bir guruhdagi natijalar soni (1–20, sukut 5).' example: 5 required: false schema: type: integer description: 'Har bir guruhdagi natijalar soni (1–20, sukut 5).' example: 5 responses: 200: description: '' content: application/json: schema: type: object example: status: ok message: Success data: query: paxta total: 7 groups: - kind: legal_documents count: 2 items: - id: 3 doc_type: cabinet_resolution number: '680' adopted_on: '2023-12-25' title: 'Paxta xom ashyosini yetishtirishni kreditlash tartibi' direction: Paxtachilik relevance: direct_primary state: in_force external_url: null revisions_count: 0 - kind: programs count: 1 items: - id: 1 slug: paxta-krediti sector: cotton kind: credit title: 'Paxta yetishtirish krediti' summary: ... body: null required_documents: null - kind: faqs count: 3 items: - id: 12 question: 'Paxta uchun kredit qancha?' answer: ... category: id: 1 slug: kredit title: Kreditlar - kind: posts count: 1 items: - id: 210 slug: paxta-hosili title: 'Paxta hosili' intro: ... published_at: '2026-09-01T10:00:00+00:00' is_featured: false cover_url: null is_machine_translated: false view_count: 0 categories: [] errors: null meta: null properties: status: type: string example: ok message: type: string example: Success data: type: object properties: query: type: string example: paxta total: type: integer example: 7 groups: type: array example: - kind: legal_documents count: 2 items: - id: 3 doc_type: cabinet_resolution number: '680' adopted_on: '2023-12-25' title: 'Paxta xom ashyosini yetishtirishni kreditlash tartibi' direction: Paxtachilik relevance: direct_primary state: in_force external_url: null revisions_count: 0 - kind: programs count: 1 items: - id: 1 slug: paxta-krediti sector: cotton kind: credit title: 'Paxta yetishtirish krediti' summary: ... body: null required_documents: null - kind: faqs count: 3 items: - id: 12 question: 'Paxta uchun kredit qancha?' answer: ... category: id: 1 slug: kredit title: Kreditlar - kind: posts count: 1 items: - id: 210 slug: paxta-hosili title: 'Paxta hosili' intro: ... published_at: '2026-09-01T10:00:00+00:00' is_featured: false cover_url: null is_machine_translated: false view_count: 0 categories: [] items: type: object properties: kind: type: string example: legal_documents count: type: integer example: 2 items: type: array example: - id: 3 doc_type: cabinet_resolution number: '680' adopted_on: '2023-12-25' title: 'Paxta xom ashyosini yetishtirishni kreditlash tartibi' direction: Paxtachilik relevance: direct_primary state: in_force external_url: null revisions_count: 0 items: type: object properties: id: type: integer example: 3 doc_type: type: string example: cabinet_resolution number: type: string example: '680' adopted_on: type: string example: '2023-12-25' title: type: string example: 'Paxta xom ashyosini yetishtirishni kreditlash tartibi' direction: type: string example: Paxtachilik relevance: type: string example: direct_primary state: type: string example: in_force external_url: type: string example: null nullable: true revisions_count: type: integer example: 0 errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - Qidiruv requestBody: required: true content: application/json: schema: type: object properties: q: type: string description: 'validation.min validation.max.' example: b limit: type: integer description: 'validation.min validation.max.' example: 12 required: - q security: [] /api/v1/assistant/ask: post: summary: 'Savol berish' operationId: savolBerish description: "Javob faqat Jamg'armaning tasdiqlangan bilim bazasidan olinadi.\nBazada javob bo'lmasa, yordamchi buni ochiq aytadi va ishonch\ntelefonini ko'rsatadi — o'ylab topilgan javob bermaydi." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok message: 'Operation completed successfully.' data: answer: ... source: '680 — ...' legal_document_id: null generator: gemini confident: true name: Xusan card: null human_takeover: false errors: null meta: null properties: status: type: string example: ok message: type: string example: 'Operation completed successfully.' data: type: object properties: answer: type: string example: ... source: type: string example: '680 — ...' legal_document_id: type: string example: null nullable: true generator: type: string example: gemini confident: type: boolean example: true name: type: string example: Xusan card: type: string example: null nullable: true human_takeover: type: boolean example: false errors: type: string example: null nullable: true meta: type: string example: null nullable: true 429: description: '' content: application/json: schema: type: object example: status: error message: 'Kunlik xabar limiti (100) tugadi. Iltimos, ertaga qayta urinib ko‘ring yoki ishonch telefoniga murojaat qiling: +998 71 231-02-17.' data: [] errors: null meta: null properties: status: type: string example: error message: type: string example: 'Kunlik xabar limiti (100) tugadi. Iltimos, ertaga qayta urinib ko‘ring yoki ishonch telefoniga murojaat qiling: +998 71 231-02-17.' data: type: array example: [] errors: type: string example: null nullable: true meta: type: string example: null nullable: true tags: - 'Raqamli yordamchi' requestBody: required: true content: application/json: schema: type: object properties: device_id: type: string description: 'Brauzer yaratgan qurilma belgisi.' example: dev-3f8a2b91c4 question: type: string description: 'Xabar matni (500 belgigacha).' example: 'Paxta uchun kredit qanday shartlarda beriladi?' name: type: string description: "Foydalanuvchi ismi — yordamchi so'raganida widget yuboradi." example: Xusan nullable: true required: - device_id - question security: [] '/api/v1/assistant/history/{deviceId}': get: summary: 'Suhbat tarixi' operationId: suhbatTarixi description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 460 role: user content: 'Et animi quos velit et fugiat.' source: null created_at: '2026-09-12T13:16:35+00:00' - id: 461 role: user content: 'Deserunt aut ab provident perspiciatis quo omnis nostrum.' source: null created_at: '2026-09-12T13:16:35+00:00' properties: data: type: array example: - id: 460 role: user content: 'Et animi quos velit et fugiat.' source: null created_at: '2026-09-12T13:16:35+00:00' - id: 461 role: user content: 'Deserunt aut ab provident perspiciatis quo omnis nostrum.' source: null created_at: '2026-09-12T13:16:35+00:00' items: type: object properties: id: type: integer example: 460 role: type: string example: user content: type: string example: 'Et animi quos velit et fugiat.' source: type: string example: null nullable: true created_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Raqamli yordamchi' security: [] parameters: - in: path name: deviceId description: 'Qurilma belgisi.' example: dev-3f8a2b91c4 required: true schema: type: string /api/v1/faqs: get: summary: Savol-javoblar operationId: savolJavoblar description: '' parameters: - in: query name: 'filter[faq_category_id]' description: Kategoriya. example: 1 required: false schema: type: integer description: Kategoriya. example: 1 - in: query name: 'filter[program_id]' description: Dastur. example: 1 required: false schema: type: integer description: Dastur. example: 1 - in: query name: 'filter[search]' description: "Savol matni bo'yicha qidiruv." example: subsidiya required: false schema: type: string description: "Savol matni bo'yicha qidiruv." example: subsidiya - in: query name: per_page description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 50 required: false schema: type: integer description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 50 responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 199 question: 'Aut adipisci quidem nostrum qui commodi incidunt iure.?' answer: 'Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora. Voluptatem laboriosam praesentium quis adipisci.' - id: 200 question: 'Aut libero aliquam veniam corporis.?' answer: 'Deleniti nemo odit quia officia. Dignissimos neque blanditiis odio. Excepturi doloribus delectus fugit qui repudiandae laboriosam.' properties: data: type: array example: - id: 199 question: 'Aut adipisci quidem nostrum qui commodi incidunt iure.?' answer: 'Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora. Voluptatem laboriosam praesentium quis adipisci.' - id: 200 question: 'Aut libero aliquam veniam corporis.?' answer: 'Deleniti nemo odit quia officia. Dignissimos neque blanditiis odio. Excepturi doloribus delectus fugit qui repudiandae laboriosam.' items: type: object properties: id: type: integer example: 199 question: type: string example: 'Aut adipisci quidem nostrum qui commodi incidunt iure.?' answer: type: string example: 'Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora. Voluptatem laboriosam praesentium quis adipisci.' tags: - Savol-javoblar security: [] /api/v1/faq-categories: get: summary: 'Savol-javob kategoriyalari' operationId: savolJavobKategoriyalari description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 105 slug: ut-et-recusandae title: 'modi rerum' - id: 106 slug: repellendus-assumenda title: 'et tenetur' properties: data: type: array example: - id: 105 slug: ut-et-recusandae title: 'modi rerum' - id: 106 slug: repellendus-assumenda title: 'et tenetur' items: type: object properties: id: type: integer example: 105 slug: type: string example: ut-et-recusandae title: type: string example: 'modi rerum' tags: - Savol-javoblar security: [] /api/v1/staff-units: get: summary: 'Tashkiliy tuzilma' operationId: tashkiliyTuzilma description: "Organogramma uchun daraxt ko'rinishida: ildizlar va ularning bo'linmalari." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 63 name: 'sed sint sed' head_name: 'Hans Hackett' duties: null phone: null email: null - id: 64 name: 'est ut enim' head_name: "Gerda O'Conner" duties: null phone: null email: null properties: data: type: array example: - id: 63 name: 'sed sint sed' head_name: 'Hans Hackett' duties: null phone: null email: null - id: 64 name: 'est ut enim' head_name: "Gerda O'Conner" duties: null phone: null email: null items: type: object properties: id: type: integer example: 63 name: type: string example: 'sed sint sed' head_name: type: string example: 'Hans Hackett' duties: type: string example: null nullable: true phone: type: string example: null nullable: true email: type: string example: null nullable: true tags: - 'Tashkiliy tuzilma' security: [] /api/v1/posts: get: summary: "Yangiliklar ro'yxati" operationId: yangiliklarRoyxati description: "Faqat chop etilgan va so'ralgan tilda mavjud maqolalar qaytadi." parameters: - in: query name: 'filter[category]' description: "Kategoriya slug'i." example: tenderlar required: false schema: type: string description: "Kategoriya slug'i." example: tenderlar - in: query name: 'filter[search]' description: "Sarlavha bo'yicha qidiruv." example: paxta required: false schema: type: string description: "Sarlavha bo'yicha qidiruv." example: paxta - in: query name: 'filter[year]' description: 'Chop etilgan yil.' example: 2026 required: false schema: type: integer description: 'Chop etilgan yil.' example: 2026 - in: query name: 'filter[is_featured]' description: 'Faqat asosiy yangiliklar.' example: 1 required: false schema: type: integer description: 'Faqat asosiy yangiliklar.' example: 1 - in: query name: sort description: 'Tartib: published_at, id (oldiga «-» teskari).' example: '-published_at' required: false schema: type: string description: 'Tartib: published_at, id (oldiga «-» teskari).' example: '-published_at' - in: query name: per_page description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 12 required: false schema: type: integer description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 12 responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 593 slug: fuga-sint-quam-maxime title: 'Fuga sint quam maxime.' intro: 'Maxime neque similique animi maxime aut.' published_at: '2025-06-17T19:05:22+00:00' is_featured: false cover_url: null is_machine_translated: false view_count: 0 - id: 594 slug: sequi-architecto-sed title: 'Sequi architecto sed.' intro: 'Qui aliquid minus tenetur cum quia ut odit dolor.' published_at: '2025-05-19T11:25:21+00:00' is_featured: false cover_url: null is_machine_translated: false view_count: 0 properties: data: type: array example: - id: 593 slug: fuga-sint-quam-maxime title: 'Fuga sint quam maxime.' intro: 'Maxime neque similique animi maxime aut.' published_at: '2025-06-17T19:05:22+00:00' is_featured: false cover_url: null is_machine_translated: false view_count: 0 - id: 594 slug: sequi-architecto-sed title: 'Sequi architecto sed.' intro: 'Qui aliquid minus tenetur cum quia ut odit dolor.' published_at: '2025-05-19T11:25:21+00:00' is_featured: false cover_url: null is_machine_translated: false view_count: 0 items: type: object properties: id: type: integer example: 593 slug: type: string example: fuga-sint-quam-maxime title: type: string example: 'Fuga sint quam maxime.' intro: type: string example: 'Maxime neque similique animi maxime aut.' published_at: type: string example: '2025-06-17T19:05:22+00:00' is_featured: type: boolean example: false cover_url: type: string example: null nullable: true is_machine_translated: type: boolean example: false view_count: type: integer example: 0 tags: - Yangiliklar security: [] /api/v1/news-categories: get: summary: 'Yangilik kategoriyalari' operationId: yangilikKategoriyalari description: 'Faol kategoriyalar, har birida joriy tildagi chop etilgan maqolalar soni bilan.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 89 slug: repellat-dolorem-dicta title: 'architecto expedita' parent_id: null - id: 90 slug: accusantium-minima-commodi title: 'consequuntur nobis' parent_id: null properties: data: type: array example: - id: 89 slug: repellat-dolorem-dicta title: 'architecto expedita' parent_id: null - id: 90 slug: accusantium-minima-commodi title: 'consequuntur nobis' parent_id: null items: type: object properties: id: type: integer example: 89 slug: type: string example: repellat-dolorem-dicta title: type: string example: 'architecto expedita' parent_id: type: string example: null nullable: true tags: - Yangiliklar security: [] '/api/v1/posts/{slug}': get: summary: 'Bitta maqola' operationId: bittaMaqola description: "Maqola matni, kategoriyalari va uchta o'xshash maqola bilan qaytadi.\nHar chaqiriqda ko'rishlar soni bittaga oshadi." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 595 slug: et-animi-quos-velit title: 'Et animi quos velit.' intro: 'Sunt nihil accusantium harum mollitia.' published_at: '2025-07-23T22:33:12+00:00' is_featured: false cover_url: null is_machine_translated: false view_count: 0 content: '
Aut ab provident perspiciatis quo omnis nostrum aut. Quidem nostrum qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' related: [] properties: data: type: object properties: id: type: integer example: 595 slug: type: string example: et-animi-quos-velit title: type: string example: 'Et animi quos velit.' intro: type: string example: 'Sunt nihil accusantium harum mollitia.' published_at: type: string example: '2025-07-23T22:33:12+00:00' is_featured: type: boolean example: false cover_url: type: string example: null nullable: true is_machine_translated: type: boolean example: false view_count: type: integer example: 0 content: type: string example: 'Aut ab provident perspiciatis quo omnis nostrum aut. Quidem nostrum qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' related: type: array example: [] tags: - Yangiliklar security: [] parameters: - in: path name: slug description: 'Maqola manzil qismi.' example: paxta-2026 required: true schema: type: string /api/v1/admin/posts: get: summary: "Maqolalar ro'yxati (barcha holatlar)" operationId: maqolalarRoyxatibarchaHolatlar description: '' parameters: - in: query name: 'filter[publication_status]' description: 'draft, published yoki archived.' example: draft required: false schema: type: string description: 'draft, published yoki archived.' example: draft - in: query name: 'filter[category]' description: "Kategoriya slug'i." example: tenderlar required: false schema: type: string description: "Kategoriya slug'i." example: tenderlar - in: query name: 'filter[search]' description: "Sarlavha bo'yicha qidiruv." example: paxta required: false schema: type: string description: "Sarlavha bo'yicha qidiruv." example: paxta - in: query name: 'filter[year]' description: 'Chop etilgan yil.' example: 2026 required: false schema: type: integer description: 'Chop etilgan yil.' example: 2026 - in: query name: sort description: 'Tartib: published_at, id.' example: '-id' required: false schema: type: string description: 'Tartib: published_at, id.' example: '-id' - in: query name: per_page description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 20 required: false schema: type: integer description: "Sahifadagi yozuvlar soni (eng ko'pi 100)." example: 20 responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 596 slug: voluptatem-laboriosam-praesentium publication_status: published published_at: '2025-04-30T17:39:35+00:00' title: uz: 'Voluptatem laboriosam praesentium.' intro: uz: 'Molestias fugit deleniti distinctio eum doloremque id.' content: uz: 'Aliquam veniam corporis dolorem mollitia deleniti nemo. Quia officia est dignissimos neque. Odio veritatis excepturi doloribus delectus fugit qui repudiandae. Est alias tenetur ratione.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' - id: 597 slug: voluptate-accusamus-ut-et publication_status: published published_at: '2026-06-07T18:24:25+00:00' title: uz: 'Voluptate accusamus ut et.' intro: uz: 'Rerum ex repellendus assumenda et.' content: uz: 'Reiciendis quia perspiciatis deserunt ducimus corrupti et. Quia maiores assumenda odit. Repellat officiis corporis nesciunt ut. Iure impedit molestiae ut rem est esse sint.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' properties: data: type: array example: - id: 596 slug: voluptatem-laboriosam-praesentium publication_status: published published_at: '2025-04-30T17:39:35+00:00' title: uz: 'Voluptatem laboriosam praesentium.' intro: uz: 'Molestias fugit deleniti distinctio eum doloremque id.' content: uz: 'Aliquam veniam corporis dolorem mollitia deleniti nemo. Quia officia est dignissimos neque. Odio veritatis excepturi doloribus delectus fugit qui repudiandae. Est alias tenetur ratione.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' - id: 597 slug: voluptate-accusamus-ut-et publication_status: published published_at: '2026-06-07T18:24:25+00:00' title: uz: 'Voluptate accusamus ut et.' intro: uz: 'Rerum ex repellendus assumenda et.' content: uz: 'Reiciendis quia perspiciatis deserunt ducimus corrupti et. Quia maiores assumenda odit. Repellat officiis corporis nesciunt ut. Iure impedit molestiae ut rem est esse sint.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' items: type: object properties: id: type: integer example: 596 slug: type: string example: voluptatem-laboriosam-praesentium publication_status: type: string example: published published_at: type: string example: '2025-04-30T17:39:35+00:00' title: type: object properties: uz: type: string example: 'Voluptatem laboriosam praesentium.' intro: type: object properties: uz: type: string example: 'Molestias fugit deleniti distinctio eum doloremque id.' content: type: object properties: uz: type: string example: 'Aliquam veniam corporis dolorem mollitia deleniti nemo. Quia officia est dignissimos neque. Odio veritatis excepturi doloribus delectus fugit qui repudiandae. Est alias tenetur ratione.
' is_featured: type: boolean example: false cover_url: type: string example: null nullable: true generated_locales: type: array example: [] legacy_slugs: type: string example: null nullable: true view_count: type: integer example: 0 created_at: type: string example: '2026-09-12T13:16:35+00:00' updated_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Yangiliklar — boshqaruv' post: summary: 'Yangi maqola' operationId: yangiMaqola description: "`slug` bo'sh qoldirilsa sarlavhadan hosil qilinadi. `content` HTML'i\nsaqlashdan oldin tozalanadi; `intro` bo'sh bo'lsa matndan chiqariladi." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 598 slug: fugiat-sunt-nihil-accusantium publication_status: published published_at: '2026-03-12T18:10:30+00:00' title: uz: 'Fugiat sunt nihil accusantium.' intro: uz: 'Modi deserunt aut ab provident perspiciatis.' content: uz: 'Nostrum aut adipisci quidem nostrum. Commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' properties: data: type: object properties: id: type: integer example: 598 slug: type: string example: fugiat-sunt-nihil-accusantium publication_status: type: string example: published published_at: type: string example: '2026-03-12T18:10:30+00:00' title: type: object properties: uz: type: string example: 'Fugiat sunt nihil accusantium.' intro: type: object properties: uz: type: string example: 'Modi deserunt aut ab provident perspiciatis.' content: type: object properties: uz: type: string example: 'Nostrum aut adipisci quidem nostrum. Commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' is_featured: type: boolean example: false cover_url: type: string example: null nullable: true generated_locales: type: array example: [] legacy_slugs: type: string example: null nullable: true view_count: type: integer example: 0 created_at: type: string example: '2026-09-12T13:16:35+00:00' updated_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Yangiliklar — boshqaruv' requestBody: required: true content: application/json: schema: type: object properties: slug: type: string description: 'Must match the regex /^[a-z0-9]+(?:-[a-z0-9]+)*$/. validation.max.' example: b nullable: true publication_status: type: string description: '' example: draft enum: - draft - published - archived published_at: type: string description: validation.date. example: '2026-09-12T13:16:35' nullable: true title: type: object description: '' example: [] properties: { } intro: type: object description: '' example: null properties: { } nullable: true content: type: object description: '' example: null properties: { } nullable: true is_featured: type: boolean description: '' example: false category_ids: type: array description: 'Must match an existing stored value.' example: - 16 items: type: integer required: - publication_status - title '/api/v1/admin/posts/{post_id}': get: summary: 'Bitta maqola — tahrirlash uchun, barcha tillari bilan' operationId: bittaMaqolaTahrirlashUchunBarchaTillariBilan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 599 slug: adipisci-molestias-fugit-deleniti-distinctio-eum publication_status: published published_at: '2024-01-31T09:40:33+00:00' title: uz: 'Adipisci molestias fugit deleniti distinctio eum.' intro: uz: 'Aut libero aliquam veniam corporis.' content: uz: 'Deleniti nemo odit quia officia. Dignissimos neque blanditiis odio. Excepturi doloribus delectus fugit qui repudiandae laboriosam.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' properties: data: type: object properties: id: type: integer example: 599 slug: type: string example: adipisci-molestias-fugit-deleniti-distinctio-eum publication_status: type: string example: published published_at: type: string example: '2024-01-31T09:40:33+00:00' title: type: object properties: uz: type: string example: 'Adipisci molestias fugit deleniti distinctio eum.' intro: type: object properties: uz: type: string example: 'Aut libero aliquam veniam corporis.' content: type: object properties: uz: type: string example: 'Deleniti nemo odit quia officia. Dignissimos neque blanditiis odio. Excepturi doloribus delectus fugit qui repudiandae laboriosam.
' is_featured: type: boolean example: false cover_url: type: string example: null nullable: true generated_locales: type: array example: [] legacy_slugs: type: string example: null nullable: true view_count: type: integer example: 0 created_at: type: string example: '2026-09-12T13:16:35+00:00' updated_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Yangiliklar — boshqaruv' put: summary: 'Maqolani tahrirlash' operationId: maqolaniTahrirlash description: "Muharrir matnini tuzatgan til `generated_locales` ro'yxatidan chiqadi —\nya'ni «avtomatik o'girilgan» yorlig'i o'chadi." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 600 slug: mollitia-modi-deserunt-aut-ab publication_status: published published_at: '2024-04-22T07:22:16+00:00' title: uz: 'Mollitia modi deserunt aut ab.' intro: uz: 'Quo omnis nostrum aut adipisci.' content: uz: 'Qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' properties: data: type: object properties: id: type: integer example: 600 slug: type: string example: mollitia-modi-deserunt-aut-ab publication_status: type: string example: published published_at: type: string example: '2024-04-22T07:22:16+00:00' title: type: object properties: uz: type: string example: 'Mollitia modi deserunt aut ab.' intro: type: object properties: uz: type: string example: 'Quo omnis nostrum aut adipisci.' content: type: object properties: uz: type: string example: 'Qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' is_featured: type: boolean example: false cover_url: type: string example: null nullable: true generated_locales: type: array example: [] legacy_slugs: type: string example: null nullable: true view_count: type: integer example: 0 created_at: type: string example: '2026-09-12T13:16:35+00:00' updated_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Yangiliklar — boshqaruv' requestBody: required: false content: application/json: schema: type: object properties: slug: type: string description: 'Must match the regex /^[a-z0-9]+(?:-[a-z0-9]+)*$/. validation.max.' example: b publication_status: type: string description: '' example: archived enum: - draft - published - archived published_at: type: string description: validation.date. example: '2026-09-12T13:16:35' nullable: true title: type: object description: '' example: null properties: { } intro: type: object description: '' example: null properties: { } nullable: true content: type: object description: '' example: null properties: { } nullable: true is_featured: type: boolean description: '' example: true category_ids: type: array description: 'Must match an existing stored value.' example: - 16 items: type: integer delete: summary: "Maqolani o'chirish" operationId: maqolaniOchirish description: "Yumshoq o'chirish — yozuv bazada qoladi va qaytarib olinishi mumkin." parameters: [] responses: { } tags: - 'Yangiliklar — boshqaruv' parameters: - in: path name: post_id description: 'The ID of the post.' example: 220 required: true schema: type: integer - in: path name: post description: 'Maqola raqami.' example: 1 required: true schema: type: integer '/api/v1/admin/posts/{post_id}/cover': post: summary: 'Muqova rasmini yuklash' operationId: muqovaRasminiYuklash description: 'Kolleksiya bitta faylli — eski rasm avtomatik almashadi.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: id: 601 slug: eius-et-animi-quos publication_status: published published_at: '2025-12-26T19:12:12+00:00' title: uz: 'Eius et animi quos.' intro: uz: 'Fugiat sunt nihil accusantium harum mollitia.' content: uz: 'Aut ab provident perspiciatis quo omnis nostrum aut. Quidem nostrum qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' is_featured: false cover_url: null generated_locales: [] legacy_slugs: null view_count: 0 created_at: '2026-09-12T13:16:35+00:00' updated_at: '2026-09-12T13:16:35+00:00' properties: data: type: object properties: id: type: integer example: 601 slug: type: string example: eius-et-animi-quos publication_status: type: string example: published published_at: type: string example: '2025-12-26T19:12:12+00:00' title: type: object properties: uz: type: string example: 'Eius et animi quos.' intro: type: object properties: uz: type: string example: 'Fugiat sunt nihil accusantium harum mollitia.' content: type: object properties: uz: type: string example: 'Aut ab provident perspiciatis quo omnis nostrum aut. Quidem nostrum qui commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur. Dolores enim non facere tempora.
' is_featured: type: boolean example: false cover_url: type: string example: null nullable: true generated_locales: type: array example: [] legacy_slugs: type: string example: null nullable: true view_count: type: integer example: 0 created_at: type: string example: '2026-09-12T13:16:35+00:00' updated_at: type: string example: '2026-09-12T13:16:35+00:00' tags: - 'Yangiliklar — boshqaruv' requestBody: required: true content: multipart/form-data: schema: type: object properties: cover: type: string format: binary description: 'validation.image validation.max.' required: - cover delete: summary: "Muqova rasmini o'chirish" operationId: muqovaRasminiOchirish description: '' parameters: [] responses: { } tags: - 'Yangiliklar — boshqaruv' parameters: - in: path name: post_id description: 'The ID of the post.' example: 220 required: true schema: type: integer - in: path name: post description: 'Maqola raqami.' example: 1 required: true schema: type: integer /api/v1/admin/news-categories: get: summary: "Kategoriyalar ro'yxati (nofaollari bilan)" operationId: kategoriyalarRoyxatinofaollariBilan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 91 slug: voluptatem-laboriosam title: uz: 'praesentium quis' parent_id: null status: 1 sort_order: 0 - id: 92 slug: molestias-fugit-deleniti title: uz: 'distinctio eum' parent_id: null status: 1 sort_order: 0 properties: data: type: array example: - id: 91 slug: voluptatem-laboriosam title: uz: 'praesentium quis' parent_id: null status: 1 sort_order: 0 - id: 92 slug: molestias-fugit-deleniti title: uz: 'distinctio eum' parent_id: null status: 1 sort_order: 0 items: type: object properties: id: type: integer example: 91 slug: type: string example: voluptatem-laboriosam title: type: object properties: uz: type: string example: 'praesentium quis' parent_id: type: string example: null nullable: true status: type: integer example: 1 sort_order: type: integer example: 0 tags: - 'Yangiliklar — boshqaruv' post: summary: 'Yangi kategoriya' operationId: yangiKategoriya description: '' parameters: [] responses: { } tags: - 'Yangiliklar — boshqaruv' requestBody: required: true content: application/json: schema: type: object properties: slug: type: string description: 'Must match the regex /^[a-z0-9]+(?:-[a-z0-9]+)*$/. validation.max.' example: b title: type: object description: '' example: [] properties: { } parent_id: type: integer description: 'Must match an existing stored value.' example: 16 nullable: true status: type: integer description: '' example: 0 enum: - 1 - 0 sort_order: type: integer description: 'validation.min validation.max.' example: 22 required: - slug - title '/api/v1/admin/news-categories/{newsCategory_id}': put: summary: 'Kategoriyani tahrirlash' operationId: kategoriyaniTahrirlash description: '' parameters: [] responses: { } tags: - 'Yangiliklar — boshqaruv' requestBody: required: false content: application/json: schema: type: object properties: slug: type: string description: 'Must match the regex /^[a-z0-9]+(?:-[a-z0-9]+)*$/. validation.max.' example: b title: type: object description: '' example: null properties: { } parent_id: type: integer description: 'Must match an existing stored value. Must not be one of.'
example: 16
nullable: true
status:
type: integer
description: ''
example: 0
enum:
- 1
- 0
sort_order:
type: integer
description: 'validation.min validation.max.'
example: 22
delete:
summary: "Kategoriyani o'chirish"
operationId: kategoriyaniOchirish
description: "Maqolalari bor kategoriya o'chirilmaydi — avval maqolalar boshqa\nkategoriyaga ko'chirilishi kerak."
parameters: []
responses: { }
tags:
- 'Yangiliklar — boshqaruv'
parameters:
-
in: path
name: newsCategory_id
description: 'The ID of the newsCategory.'
example: 7
required: true
schema:
type: integer
-
in: path
name: newsCategory
description: 'Kategoriya raqami.'
example: 1
required: true
schema:
type: integer