apicloud

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.

ManzilSoniMaydonlarIchma-ich
/v1/users50id, name, username, email, phone, city, ageposts, todos
/v1/posts100id, userId, title, bodycomments
/v1/comments300id, postId, name, email, body-
/v1/todos200id, userId, title, completed-
/v1/products60id, 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.

UsulManzilIzoh
GET/v1Barcha resurslar roʻyxati (indeks)
GET, POST/v1/usersFoydalanuvchilar: 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}/postsShu yozuvga tegishli postlar
GET/v1/users/{id}/todosShu yozuvga tegishli vazifalar
GET, POST/v1/postsPostlar: 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}/commentsShu yozuvga tegishli izohlar
GET, POST/v1/commentsIzohlar: 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/todosVazifalar: 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/productsMahsulotlar: 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/ratesMarkaziy bank valyuta kurslari (?valyuta=USD ixtiyoriy)

Parametrlar

Hamma roʻyxat manzillarida ishlaydi. Notoʻgʻri qiymat jimgina tuzatilmaydi, 400 qaytadi.

ParametrIzoh
_page, _limitSahifalash. _limit: 1-100, standart 100
_sort, _orderMaydon boʻyicha saralash; _order=asc yoki desc
qMatnli maydonlar boʻyicha qidiruv
maydon=qiymatAniq moslik. Maydon takrorlansa YOKI: ?id=1&id=2
maydon_gte, _lte, _ne≥, ≤ va teng emas: ?price_lte=100000
_expand=userOta yozuvni ichiga qoʻshadi (/v1/posts/1?_expand=user)
_embed=commentsBola 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ʻrovJavob
POST /v1/posts201, yangi yozuv, id = oxirgi + 1 (posts uchun 101)
PUT /v1/posts/1200, yozuvning toʻliq yangi koʻrinishi
PATCH /v1/posts/1200, mavjud yozuv va yuborilgan maydonlar birlashmasi
DELETE /v1/posts/1200 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=800Javobni 0-3000 ms ga kechiktiradi: sekin tarmoq va yuklanish holatini sinash uchun
GET /v1/status/503200-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.

Daqiqasiga60 ta soʻrov
Sutkasiga5 000 ta soʻrov
Soʻrov tanasi16 KB
Jurnal saqlanish muddati90 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." }
KodMaʼnosi
400Notoʻgʻri parametr (_limit, _delay, /status) yoki yaroqsiz JSON
404Bunday resurs yoki yozuv yoʻq
405Usul ruxsat etilmagan; ruxsat etilganlari Allow sarlavhasida
413Soʻrov tanasi 16 KB dan katta
422Tana tekshiruvdan oʻtmadi; maydonlar obyektida har bir maydon uchun xabar
429Chastota chegarasi oshdi: daqiqasiga 60 yoki sutkasiga 5 000
502Provayder (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

ParametrIzoh
valyutaixtiyoriyUch 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.