Profil API¶
Barcha endpointlar Authorization: Bearer <token> talab qiladi.
Profilni ko'rish¶
O'z profili¶
Javob (200):
{
"ok": true,
"user": {
"id": 42,
"username": "ali1234",
"email": "ali@example.com",
"first_name": "Ali",
"last_name": "Valiyev",
"bio": "Backend developer",
"avatar_url": "/static/uploads/avatars/42.jpg",
"cover_url": null,
"website_url": "https://example.com",
"telegram_url": "https://t.me/ali",
"instagram_url": null,
"github_url": "https://github.com/ali",
"location": "Toshkent",
"thinking_about": null,
"is_verified": true,
"created_at": "2026-01-15T10:00:00Z"
}
}
Boshqa foydalanuvchi profili¶
Profilni yangilash¶
So'rov (o'zgartirilishi kerak bo'lgan maydonlar):
{
"first_name": "Ali",
"last_name": "Valiyev",
"bio": "Python developer",
"website_url": "https://mysite.uz",
"telegram_url": "https://t.me/ali",
"instagram_url": null,
"github_url": "https://github.com/ali",
"location": "Toshkent",
"thinking_about": "Yangi loyiha ustida ishlayapman"
}
Avatar yuklash¶
| Maydon | Turi | Tavsif |
|---|---|---|
file |
File | JPEG, PNG, WebP, GIF, AVIF — maks. 5 MB |
Javob (200):
Muqova rasmi yuklash¶
| Maydon | Turi | Tavsif |
|---|---|---|
file |
File | JPEG, PNG, WebP — maks. 5 MB |
Mavjud muqova shablonlari¶
Parol o'zgartirish¶
Action token talab qilinadi (oldin /api/v1/auth/action-challenge → /api/v1/auth/action-verify).
POST /api/v1/profile/change-password
Authorization: Bearer <token>
X-Action-Token: <action_token>
Content-Type: application/json
FCM Push token (Android)¶
Ro'yxatga olish¶
O'chirish¶
Fikr-mulohaza yuborish¶
Maxfiylik sozlamalari¶
Ko'rish¶
Javob:
{
"ok": true,
"settings": {
"profile_visibility": "public",
"message_permission": "everyone",
"follow_approval": false,
"activity_visibility": "followers"
}
}
Yangilash¶
{
"profile_visibility": "public",
"message_permission": "followers",
"follow_approval": true,
"activity_visibility": "private"
}
| Maydon | Mumkin qiymatlar |
|---|---|
profile_visibility |
public, private |
message_permission |
everyone, followers, none |
follow_approval |
true, false |
activity_visibility |
public, followers, private |
Ko'rinish (Appearance) sozlamalari¶
Ko'rish¶
Javob:
Yangilash¶
PUT /api/v1/profile/settings/appearance
Authorization: Bearer <token>
Content-Type: application/json
| Maydon | Mumkin qiymatlar |
|---|---|
theme |
system, light, dark |
language |
uz, ru, en |
compact_layout |
true, false |
Xavfsizlik sozlamalari¶
Holat¶
Javob:
Ikki bosqichli tasdiqlash yoqish/o'chirish¶
PUT /api/v1/profile/settings/security/two-step
Authorization: Bearer <token>
X-Action-Token: <action_token>
Content-Type: application/json
Tiklash kodlarini yangilash¶
POST /api/v1/profile/settings/security/recovery-codes
Authorization: Bearer <token>
X-Action-Token: <action_token>
Javob:
Qurilmalar ro'yxati¶
Javob:
{
"ok": true,
"devices": [
{
"id": 1,
"device_info": "Chrome 120 / Windows 11",
"ip_address": "192.168.1.1",
"last_active": "2026-06-11T10:00:00Z",
"is_current": true
}
]
}
Qurilmani o'chirish¶
Boshqa barcha qurilmalardan chiqish¶
Bloklangan foydalanuvchilar¶
Ro'yxat¶
Bloklash¶
POST /api/v1/profile/settings/privacy/blocked
Authorization: Bearer <token>
Content-Type: application/json
Blokni olib tashlash¶
Daftar sozlamalari¶
Ikkilamchi parol o'rnatish¶
POST /api/v1/profile/settings/diary/secondary-lock
Authorization: Bearer <token>
Content-Type: application/json
Daftar eksport¶
Shifrlangan JSON formatida barcha yozuvlar qaytariladi.