Hujjatlar
Bepul soxta REST API
Beshta tayyor resurs, kalit va roʻyxatdan oʻtish kerak emas. Nomlar JSONPlaceholder bilan mos, maʼlumot oʻzbekcha. Yozish soʻrovlari simulyatsiya qilinadi, hech narsa saqlanmaydi.
Boshlash
Brauzerda manzilni ochsangiz ham javobni koʻrasiz. Asosiy manzil: https://apicloud.uz/v1.
curl "https://apicloud.uz/v1/posts/1"
const r = await fetch("https://apicloud.uz/v1/posts?_limit=5");
const posts = await r.json();
console.log(r.headers.get("X-Total-Count"), posts[0].title);
import requests
r = requests.post("https://apicloud.uz/v1/posts",
json={"title": "Salom", "body": "Matn", "userId": 1})
print(r.status_code, r.json()["id"]) # 201 101
Javob Access-Control-Allow-Origin: * bilan qaytadi, shuning uchun brauzerdagi JavaScript'dan ham toʻgʻridan-toʻgʻri chaqirsa boʻladi. Soʻrovni bosh sahifadagi jonli sinovda ham yuborib koʻring.
Hisob ochish ixtiyoriy: u faqat panelga kirish uchun, API uchun emas.
Resurslar
Maʼlumot har doim bir xil, tasodifiy emas. Roʻyxat oddiy JSON massiv, jami soni X-Total-Count sarlavhasida.
| Manzil | Soni | Maydonlar | Ichma-ich |
/v1/users | 50 | id, name, username, email, phone, city, age | posts, todos |
/v1/posts | 100 | id, userId, title, body | comments |
/v1/comments | 300 | id, postId, name, email, body | - |
/v1/todos | 200 | id, userId, title, completed | - |
/v1/products | 60 | id, title, description, price, category, stock, rating | - |
Bogʻlanishlar: posts.userId → users, todos.userId → users, comments.postId → posts. Ichma-ich manzillar:
GET /v1/users/1/posts
GET /v1/users/1/todos
GET /v1/posts/1/comments
Namuna (GET /v1/users/1):
{
"id": 1,
"name": "Sevara Aliyeva",
"username": "sevara.aliyeva",
"email": "sevara.aliyeva@example.com",
"phone": "+998 95 698 40 64",
"city": "Navoiy",
"age": 30
}
Barcha endpointlar
Toʻliq roʻyxat: 16 ta manzil. Manzilni bossangiz, GET namunasi brauzerda ochiladi. Boshqa usullarni jonli sinovda yuboring.
| Usul | Manzil | Izoh |
| GET | /v1 | Barcha resurslar roʻyxati (indeks) |
| GET, POST | /v1/users | Foydalanuvchilar: roʻyxat (filtr, sahifalash) va yangi yozuv |
| GET, PUT, PATCH, DELETE | /v1/users/{id} | Bitta yozuv: oʻqish, almashtirish, qisman yangilash, oʻchirish |
| GET | /v1/users/{id}/posts | Shu yozuvga tegishli postlar |
| GET | /v1/users/{id}/todos | Shu yozuvga tegishli vazifalar |
| GET, POST | /v1/posts | Postlar: roʻyxat (filtr, sahifalash) va yangi yozuv |
| GET, PUT, PATCH, DELETE | /v1/posts/{id} | Bitta yozuv: oʻqish, almashtirish, qisman yangilash, oʻchirish |
| GET | /v1/posts/{id}/comments | Shu yozuvga tegishli izohlar |
| GET, POST | /v1/comments | Izohlar: roʻyxat (filtr, sahifalash) va yangi yozuv |
| GET, PUT, PATCH, DELETE | /v1/comments/{id} | Bitta yozuv: oʻqish, almashtirish, qisman yangilash, oʻchirish |
| GET, POST | /v1/todos | Vazifalar: roʻyxat (filtr, sahifalash) va yangi yozuv |
| GET, PUT, PATCH, DELETE | /v1/todos/{id} | Bitta yozuv: oʻqish, almashtirish, qisman yangilash, oʻchirish |
| GET, POST | /v1/products | Mahsulotlar: roʻyxat (filtr, sahifalash) va yangi yozuv |
| GET, PUT, PATCH, DELETE | /v1/products/{id} | Bitta yozuv: oʻqish, almashtirish, qisman yangilash, oʻchirish |
| istalgan | /v1/status/{kod} | 200-599 oraligʻidagi holat kodini qaytaradi |
| GET | /v1/currency/rates | Markaziy bank valyuta kurslari (?valyuta=USD ixtiyoriy) |
Parametrlar
Hamma roʻyxat manzillarida ishlaydi. Notoʻgʻri qiymat jimgina tuzatilmaydi, 400 qaytadi.
| Parametr | Izoh |
_page, _limit | Sahifalash. _limit: 1-100, standart 100 |
_sort, _order | Maydon boʻyicha saralash; _order=asc yoki desc |
q | Matnli maydonlar boʻyicha qidiruv |
maydon=qiymat | Aniq moslik. Maydon takrorlansa YOKI: ?id=1&id=2 |
maydon_gte, _lte, _ne | ≥, ≤ va teng emas: ?price_lte=100000 |
_expand=user | Ota yozuvni ichiga qoʻshadi (/v1/posts/1?_expand=user) |
_embed=comments | Bola yozuvlarni qoʻshadi (/v1/posts/1?_embed=comments) |
curl "https://apicloud.uz/v1/products?category=elektronika&price_lte=500000&_sort=price&_order=desc&_limit=5"
Yozish soʻrovlari
Soʻrov tekshiriladi va haqiqiydek javob qaytadi, lekin hech narsa saqlanmaydi: keyingi GET oʻzgarishni koʻrmaydi. Tana JSON obyekt boʻlishi va 16 KB dan oshmasligi kerak.
| Soʻrov | Javob |
POST /v1/posts | 201, yangi yozuv, id = oxirgi + 1 (posts uchun 101) |
PUT /v1/posts/1 | 200, yozuvning toʻliq yangi koʻrinishi |
PATCH /v1/posts/1 | 200, mavjud yozuv va yuborilgan maydonlar birlashmasi |
DELETE /v1/posts/1 | 200 va {} |
Maydon turi, majburiy maydonlar va bogʻlanish (masalan mavjud userId) tekshiriladi. Notoʻgʻri boʻlsa 422 va maydonma-maydon xabar keladi. Nomaʼlum maydonlar javobda aynan qaytariladi.
curl -X POST https://apicloud.uz/v1/users -H "Content-Type: application/json" -d '{"name":"Test"}'
422
{ "xato": "Maʼlumotlar notoʻgʻri.", "maydonlar": { "email": "Majburiy maydon." } }
Sinash vositalari
?_delay=800 | Javobni 0-3000 ms ga kechiktiradi: sekin tarmoq va yuklanish holatini sinash uchun |
GET /v1/status/503 | 200-599 oraligʻidagi istalgan holat kodini qaytaradi (xatolik ekranlarini sinash uchun). 204 tanasiz keladi |
Limitlar
Kalit yoʻq, shuning uchun chegara soʻrov manbasi (IP) boʻyicha hisoblanadi.
| Daqiqasiga | 60 ta soʻrov |
| Sutkasiga | 5 000 ta soʻrov |
| Soʻrov tanasi | 16 KB |
| Jurnal saqlanish muddati | 90 kun |
Har bir javobda qolgan soʻrovlar soni sarlavhada keladi:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 60
Chegara oshsa soʻrov 429 kodi va Retry-After sarlavhasi bilan rad etiladi.
Xatoliklar
Xatolik yuz berganda javob har doim bir xil koʻrinishda boʻladi:
{ "xato": "Bunday resurs yoʻq." }
| Kod | Maʼnosi |
400 | Notoʻgʻri parametr (_limit, _delay, /status) yoki yaroqsiz JSON |
404 | Bunday resurs yoki yozuv yoʻq |
405 | Usul ruxsat etilmagan; ruxsat etilganlari Allow sarlavhasida |
413 | Soʻrov tanasi 16 KB dan katta |
422 | Tana tekshiruvdan oʻtmadi; maydonlar obyektida har bir maydon uchun xabar |
429 | Chastota chegarasi oshdi: daqiqasiga 60 yoki sutkasiga 5 000 |
502 | Provayder (cbu.uz) javob bermadi va yaroqli saqlangan nusxa ham yoʻq |
Provayder endpointi
Soxta REST dan tashqari hozircha bitta haqiqiy provayder ulangan. Bu kelajakdagi provayder API'lar qanday koʻrinishda boʻlishini koʻrsatadi.
GET
/v1/currency/rates
Oʻzbekiston Markaziy bankining rasmiy kunlik valyuta kurslari
| Parametr | | Izoh |
|---|
valyuta | ixtiyoriy | Uch harfli kod, masalan USD, EUR, RUB. Yuborilmasa barcha valyutalar qaytadi |
Soʻrov
curl "https://apicloud.uz/v1/currency/rates?valyuta=USD"
Javob
{
"manba": "cbu.uz",
"sana": "22.09.2026",
"eskirgan": false,
"valyuta": {
"kod": "USD",
"nom": "AQSH dollari",
"birlik": 1,
"kurs": 11809.82,
"farq": -29.77
}
}
eskirgan: true boʻlsa, cbu.uz javob bermagani uchun oxirgi saqlangan nusxa qaytarilgan.
Keyingi versiyalar
Bu sahifa bepul API haqida: u doim kalitsiz qoladi. Pullik API'lar /v1/pro/{xizmat}/... manzilida, panelda olingan bitta API kaliti bilan ishlaydi; birinchisi Ryusei AI modeli ishga tushganda shu yerda hujjatlanadi. Mavjud manzillar oʻzgarmaydi.
Kerakli API'ni hello@apicloud.uz manziliga yoki Telegram orqali taklif qilishingiz mumkin.