Asosiy matnga oʻtish

API

Uchinchi tomon xizmatlarini UTasks bilan integratsiya qilish uchun ochiq API.


https://app.utasks.io/utb

Barcha endpointlar /pub/v1/ prefiksi bilan boshlanadi.

API Bearer tokendan foydalanadi. Kalit olish uchun @UTasksBot botiga /apikey new buyrugʻini yuboring.

Kalitni har bir soʻrovning sarlavhasida (header) yuboring:

Authorization: Bearer utb_xxxxxxxxxxxxxxxx

Kalit ishlayotganiga ishonch hosil qiling – profilingizni soʻrang:

GET /utb/pub/v1/profile
Authorization: Bearer utb_...

API kalit egasining profilini qaytaradi. Ulanishni tekshirish uchun qulay.

Javob 200 – PubProfileModel obyekti

{
"userId": "abc123",
"userName": "ivan",
"title": "Ivan Petrov",
"role": "PRO",
"roleExpireDate": "2025-12-31T00:00:00Z",
"locale": "ru",
"timeZone": "Europe/Moscow",
"timeZoneId": 3
}

Joriy foydalanuvchi aʼzo boʻlgan loyihalar.

Javob 200 – PubProjectModel massivi


Loyihani ID boʻyicha olish. Faqat foydalanuvchi aʼzo boʻlgan loyihalar uchun mavjud.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Loyiha ID si

Javob 200 – PubProjectModel obyekti


GET /pub/v1/projects/{id}/users

«GET /pub/v1/projects/{id}/users» boʻlimi

Loyiha aʼzolari va ularning maqomlari. Faqat foydalanuvchi aʼzo boʻlgan loyihalar uchun mavjud.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Loyiha ID si

Javob 200 – PubProjectUserModel massivi


Joriy foydalanuvchining vazifalari – qamrov yoki loyiha boʻyicha.

Soʻrov parametrlari

Parametr Tur Tavsif
scope PubTaskScope Vazifalar qamrovi (standart holatda All). projectId berilsa, eʼtiborga olinmaydi
projectId string Loyiha ID si; faol aʼzolik talab qilinadi
completed boolean true – ochiq vazifalar oʻrniga bajarilganlarini qaytarish
q string Qidiruv soʻrovi (nomlar boʻyicha qidiradi)

Javob 200 – PubTaskModel massivi

Misol

GET /utb/pub/v1/tasks?scope=Today
Authorization: Bearer utb_...
GET /utb/pub/v1/tasks?projectId=abc123&completed=false
Authorization: Bearer utb_...

Loyihada yoki shaxsiy «Kiruvchi»da vazifa yaratish. Ilovada yaratilgan vazifalar kabi messenjerga xuddi shunday bildirishnomalar yuboradi.

Soʻrov tanasi – PubCreateTaskRequest

Javob 200 – PubTaskModel obyekti

Misol

{
"title": "Hisobot tayyorlash",
"description": "Choraklik koʻrsatkichlar hisoboti",
"projectId": "abc123",
"planDate": "2025-08-01T09:00:00Z",
"dueDate": "2025-08-05T18:00:00Z",
"priority": "High",
"assigneeIds": ["user1", "user2"]
}

Vazifani ID boʻyicha olish.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

Javob 200 – PubTaskModel obyekti


Vazifani qisman yangilash. Faqat siz yuborgan (null boʻlmagan) maydonlar yangilanadi. Boʻsh assigneeIds roʻyxati barcha ijrochilarni olib tashlaydi.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

Soʻrov tanasi – PubUpdateTaskRequest

Javob 200 – PubTaskModel obyekti

Misol – holat va muhimlikni oʻzgartirish

{
"status": "InProgress",
"priority": "Highest"
}

Misol – rejalashtirilgan sanani tozalash

{
"clearPlanDate": true
}

Vazifani oʻchirish. Vazifa muallifi va loyiha administratorlariga ruxsat etilgan.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

POST /pub/v1/tasks/{id}/complete

«POST /pub/v1/tasks/{id}/complete» boʻlimi

Vazifani bajarilgan deb belgilash. Muallif butun vazifani yopadi; ijrochi faqat oʻz qismini belgilaydi – barcha ijrochilar oʻz qismlarini bajargach, vazifa umumiy yopiladi. Muallif va ijrochilar uchun mavjud.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

POST /pub/v1/tasks/{id}/uncomplete

«POST /pub/v1/tasks/{id}/uncomplete» boʻlimi

Bajarilgan vazifani barcha ishtirokchilar uchun qayta ochish; holat New ga qaytariladi. Muallif va ijrochilar uchun mavjud.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

GET /pub/v1/tasks/{id}/history

«GET /pub/v1/tasks/{id}/history» boʻlimi

Vazifa oʻzgarishlari tarixi va izohlar, standart holatda eskisidan yangisiga qarab.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

Soʻrov parametrlari

Parametr Tur Tavsif
filter string Tarix yozuvlari filtri
sort string Yozuvlarni saralash tartibi

Javob 200 – PubTaskHistoryItemModel massivi


POST /pub/v1/tasks/{id}/attachassignee

«POST /pub/v1/tasks/{id}/attachassignee» boʻlimi

Joriy foydalanuvchini (API kalit egasini) vazifa ijrochisi sifatida qoʻshish.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

POST /pub/v1/tasks/{id}/publish

«POST /pub/v1/tasks/{id}/publish» boʻlimi

Vazifa kartasini xabar sifatida loyiha chatiga (ommaviy loyihalar uchun) yoki muallifning shaxsiy chatiga chop etish.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

POST /pub/v1/tasks/{id}/comments

«POST /pub/v1/tasks/{id}/comments» boʻlimi

Vazifaga matnli izoh qoʻshish.

Yoʻl parametrlari

Parametr Tur Majburiy Tavsif
id string ✓ Vazifa ID si

Soʻrov tanasi – PubCommentRequest

{
"text": "Tayyor, tekshirib koʻring"
}

API kalit egasi boʻlgan foydalanuvchi profili.

Maydon Tur Tavsif
userId string Foydalanuvchi ID si
userName string Foydalanuvchi nomi (username)
title string Koʻrsatiladigan ism
role string Tarif / rol
roleExpireDate string (ISO 8601) Tarif tugash sanasi
locale string Interfeys tili
timeZone string Vaqt mintaqasi (IANA)
timeZoneId number Vaqt mintaqasi ID si

Maydon Tur Tavsif
id string Loyiha ID si
name string Loyiha nomi
description string Tavsif
type UTProjectType Loyiha turi

Maydon Tur Tavsif
id string Foydalanuvchi ID si
userName string Foydalanuvchi nomi (username)
title string Koʻrsatiladigan ism
status UTUserStatus Aʼzoning loyihadagi maqomi

Foydalanuvchi haqida qisqa maʼlumot (vazifalar ichida ishlatiladi).

Maydon Tur Tavsif
id string Foydalanuvchi ID si
userName string Foydalanuvchi nomi (username)
title string Koʻrsatiladigan ism

Maydon Tur Tavsif
id string Vazifa ID si
number string Odam oʻqiy oladigan vazifa raqami, masalan UT-12
title string Vazifa nomi
description string Tavsif
status UTTaskStatus Holat
priority UTTaskPriority Muhimlik
projectId string | null Loyiha ID si; shaxsiy «Kiruvchi» vazifalari uchun null
projectName string | null Loyiha nomi; shaxsiy «Kiruvchi» uchun null
planDate string | null Rejalashtirilgan sana (ISO 8601)
planCron string | null Rejalashtirilgan sana uchun takrorlanish qoidasi
dueDate string | null Muddat (ISO 8601)
isCompleted boolean Vazifa umumiy bajarilgan. Bir nechta ijrochili vazifalarda har biri oʻz qismini belgilagandan keyingina true boʻladi
completedDate string | null Bajarilgan sana
completedUserIds string[] Oʻz qismini bajarilgan deb belgilagan ijrochilarning ID lari
personalCompleted boolean Vazifa joriy foydalanuvchi uchun bajarilgan: yo umumiy bajarilgan, yo foydalanuvchi oʻz qismini belgilagan
author PubUserModel Vazifa muallifi
assignees PubUserModel[] Ijrochilar

Maydon Tur Majburiy Tavsif
title string ✓ Vazifa nomi, 5000 belgigacha
description string | null Tavsif, 5000 belgigacha
projectId string | null Loyiha ID si; shaxsiy «Kiruvchi» uchun koʻrsatmang
planDate string | null Rejalashtirilgan sana (ISO 8601)
dueDate string | null Muddat; rejalashtirilgan sanadan oldin boʻlishi mumkin emas
planCron string | null Rejalashtirilgan sana uchun takrorlanish qoidasi
priority UTTaskPriority Muhimlik
assigneeIds string[] | null Ijrochilar ID lari. Ular loyiha aʼzolari boʻlishi kerak

Barcha maydonlar ixtiyoriy. Faqat oʻzgartirmoqchi boʻlganlaringizni yuboring.

Maydon Tur Tavsif
title string | null Yangi nom, 5000 belgigacha
description string | null Yangi tavsif, 5000 belgigacha
planDate string | null Yangi rejalashtirilgan sana
dueDate string | null Yangi muddat; rejalashtirilgan sanadan oldin boʻlishi mumkin emas
clearPlanDate boolean Rejalashtirilgan sanani tozalash (planDate dan ustun turadi)
clearDueDate boolean Muddatni tozalash (dueDate dan ustun turadi)
planCron string | null Yangi takrorlanish qoidasi
priority UTTaskPriority Yangi muhimlik
status UTTaskStatus Yangi holat
assigneeIds string[] | null Ijrochilarning yangi toʻliq roʻyxati (boʻsh massiv hammani olib tashlaydi)

Maydon Tur Majburiy Tavsif
text string ✓ Izoh matni

Maydon Tur Tavsif
text string Izoh matni
createDate string (ISO 8601) Yaratilgan sana

Vazifa oʻzgarishlari tarixidagi yozuv.

Maydon Tur Tavsif
date string (ISO 8601) Hodisa sanasi
author PubUserModel Oʻzgarish muallifi
comment string Izoh matni (agar bu izoh boʻlsa)
change PubTaskHistoryChangeModel Maydon oʻzgarishi tafsilotlari

Maydon Tur Tavsif
field string Oʻzgargan maydon nomi
oldValue string Eski qiymat
newValue string Yangi qiymat

Sanab oʻtiladigan qiymatlar

«Sanab oʻtiladigan qiymatlar» boʻlimi

Vazifa holati.

Qiymat Tavsif
New Yangi
ToDo Rejalashtirilgan
InProgress Bajarilmoqda
Resolved Hal qilingan
Review Koʻrib chiqish
Approved Tasdiqlangan
Closed Yopilgan

Vazifa muhimligi.

Qiymat Tavsif
None Belgilanmagan
Lowest Eng past
Low Past
Medium Oʻrta
High Yuqori
Highest Eng yuqori

Loyiha turi.

Qiymat Tavsif
Private Shaxsiy
Public Ommaviy (guruh)
Dynamic Dinamik

Aʼzoning loyihadagi roli.

Qiymat Tavsif
None Rolsiz
Creator Yaratuvchi
Administrator Administrator
Member Aʼzo

Vazifalarni filtrlash qamrovi.

Qiymat Tavsif
All Barcha vazifalar
Inbox Kiruvchi
Today Bugungi
Tomorrow Ertangi
Week Shu haftadagi
Completed Bajarilganlar

GET /utb/pub/v1/tasks?scope=Today
Authorization: Bearer utb_...

Shaxsiy «Kiruvchi»da vazifa yaratish

«Shaxsiy «Kiruvchi»da vazifa yaratish» boʻlimi
POST /utb/pub/v1/tasks
Authorization: Bearer utb_...
Content-Type: application/json
{
"title": "Mijozga qoʻngʻiroq qilish",
"planDate": "2025-08-01T10:00:00Z",
"priority": "High"
}

Loyihada ijrochilari bilan vazifa yaratish

«Loyihada ijrochilari bilan vazifa yaratish» boʻlimi
POST /utb/pub/v1/tasks
Authorization: Bearer utb_...
Content-Type: application/json
{
"title": "PR #42 ni koʻrib chiqish",
"projectId": "proj_abc",
"assigneeIds": ["user_1", "user_2"],
"dueDate": "2025-08-03T18:00:00Z",
"priority": "Medium"
}

Vazifani «Bajarilmoqda» holatiga oʻtkazish

«Vazifani «Bajarilmoqda» holatiga oʻtkazish» boʻlimi
PATCH /utb/pub/v1/tasks/task_xyz
Authorization: Bearer utb_...
Content-Type: application/json
{
"status": "InProgress"
}
POST /utb/pub/v1/tasks/task_xyz/complete
Authorization: Bearer utb_...
POST /utb/pub/v1/tasks/task_xyz/comments
Authorization: Bearer utb_...
Content-Type: application/json
{
"text": "Tayyor, koʻrib chiqishingizni kutaman"
}

Kod Tavsif
400 Notoʻgʻri soʻrov – soʻrov tanasini tekshiring
401 Avtorizatsiyadan oʻtilmagan – API kalitingizni tekshiring
403 Taqiqlangan – bu amal uchun huquqlar yetarli emas
404 Obyekt topilmadi
500 Serverning ichki xatosi

Xato tanasi ProblemDetails formatida qaytariladi:

{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "Bad Request",
"status": 400,
"detail": "Title is required"
}