API kalitlari
MarkdownMetodlar, so‘rov maydonlari va javoblar.
To‘liq qo‘llanma
Bo‘limda 5 ta metod bor. Kirish shartlari, so‘rov maydonlari va javobni ko‘rish uchun metodni oching.
| Metod va yo‘l | Tavsif | Kirish huquqi |
|---|---|---|
GET /api/v1/keys | Ro‘yxat — API kalitlari | Boshqaruv paneli tokeni |
POST /api/v1/keys | API kalitini yaratish | Boshqaruv paneli tokeni |
DELETE /api/v1/keys/:id | O‘chirish — API kalitlari | Boshqaruv paneli tokeni |
GET /api/v1/keys/:id | Identifikator bo‘yicha olish — API kalitlari | Boshqaruv paneli tokeni |
PUT /api/v1/keys/:id | API kalitini o‘zgartirish | Boshqaruv paneli tokeni |
GET /api/v1/keys — Ro‘yxat — API kalitlari
Kirish: Boshqaruv paneli tokeni
/api/v1/keyscurl --fail-with-body "https://ailoot.ai/api/v1/keys" \
-H "Authorization: Bearer $TOKEN"Query parametrlari
| Maydon: | Tur | Majburiy | Tekshiruv / tavsif |
|---|---|---|---|
sort_by | string | yo‘q | ; standart qiymat: created_at |
sort_order | string | yo‘q | ; standart qiymat: desc |
search | string | yo‘q | |
status | string | yo‘q | |
page | integer | yo‘q | ; standart qiymat: 1; positive; page_size/limit <=1000 |
page_size | integer | yo‘q | ; standart qiymat: 20; positive; page_size/limit <=1000 |
limit | integer | yo‘q | ; standart qiymat: 20; positive; page_size/limit <=1000 |
So‘rov tanasi talab qilinmaydi. Yuqoridagi parametrlarni URL orqali uzating.
Javob
JSON javobi code, message va data maydonlarini o‘z ichiga oladi. data mazmuni quyidagi sxemalarda tasvirlangan.
Javob ma’lumotlari sxemalari: APIKey. Maydonlar va turlar “Ma’lumotlar sxemalari” sahifalarida.
{
"code": 0,
"message": "success",
"data": {
"items": [
{
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
],
"total": "PLACEHOLDER_TOTAL (integer)",
"page": "PLACEHOLDER_PAGE (integer)",
"page_size": "PLACEHOLDER_PAGE_SIZE (integer)",
"pages": "PLACEHOLDER_PAGES (integer)"
}
}Xususiyatlar: Barcha shaxsiy ma’lumotlar va obyektlar JWT subyekti bilan cheklangan.
Xususiyatlar: javob maxfiy key’ni o‘z ichiga oladi; haqiqiy qiymatlarni e’lon qilmang.
POST /api/v1/keys — API kalitini yaratish
Kirish: Boshqaruv paneli tokeni
/api/v1/keysJSON / forma maydonlari
| Maydon: | Tur | Majburiy | Tekshiruv / tavsif |
|---|---|---|---|
name | string | ha | required |
custom_key | string | yo‘q | ; Kalitning ixtiyoriy o‘z qiymati; null bo‘lishi mumkin |
ip_whitelist | array | yo‘q | ; Ruxsat etilgan IP’lar ro‘yxati |
ip_blacklist | array | yo‘q | ; Taqiqlangan IP’lar ro‘yxati |
quota | number | yo‘q | ; Kalitning USD’dagi sarf limiti; null bo‘lishi mumkin |
expires_in_days | integer | yo‘q | ; Amal qilish muddati kunlarda; null bo‘lishi mumkin |
rate_limit_5h | number | yo‘q | ; null bo‘lishi mumkin |
rate_limit_1d | number | yo‘q | ; null bo‘lishi mumkin |
rate_limit_7d | number | yo‘q | ; null bo‘lishi mumkin |
{
"name": "PLACEHOLDER_NAME (string)",
"custom_key": "PLACEHOLDER_CUSTOM_KEY (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"quota": "PLACEHOLDER_QUOTA (number)",
"expires_in_days": "PLACEHOLDER_EXPIRES_IN_DAYS (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)"
}PLACEHOLDER siz kiritadigan qiymat va uning turini bildiradi. Qiymatlarni almashtiring va faqat kerakli ixtiyoriy maydonlarni qoldiring; sonlar, boolean, obyektlar yoki massivlar o‘rniga matnli belgilar yuborilmaydi.
So‘rov sxemasi: CreateAPIKeyRequest
Javob
JSON javobi code, message va data maydonlarini o‘z ichiga oladi. data mazmuni quyidagi sxemalarda tasvirlangan.
Javob ma’lumotlari sxemalari: APIKey. Maydonlar va turlar “Ma’lumotlar sxemalari” sahifalarida.
{
"code": 0,
"message": "success",
"data": {
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
}Xususiyatlar: Barcha shaxsiy ma’lumotlar va obyektlar JWT subyekti bilan cheklangan.
Xususiyatlar: operatsiya holatni o‘zgartiradi yoki bir martalik avtorizatsiyani davom ettiradi; misol API interfeysining shartlarini tavsiflaydi va bajarilmaydi.
Xususiyatlar: Idempotency-Key qo‘llab-quvvatlanadi; takroriy so‘rov X-Idempotency-Replayed bilan saqlangan javobni qaytaradi.
Xususiyatlar: javob maxfiy key’ni o‘z ichiga oladi; haqiqiy qiymatlarni e’lon qilmang.
DELETE /api/v1/keys/:id — O‘chirish — API kalitlari
Kirish: Boshqaruv paneli tokeni
/api/v1/keys/:idYo‘l parametrlari
| Maydon: | Tur | Majburiy | Tekshiruv / tavsif |
|---|---|---|---|
id | integer | ha |
So‘rov tanasi talab qilinmaydi.
Javob
JSON javobi code, message va data maydonlarini o‘z ichiga oladi. data mazmuni quyidagi sxemalarda tasvirlangan.
{
"code": 0,
"message": "success",
"data": {
"message": "VALUE_FROM_RESPONSE"
}
}Xususiyatlar: Barcha shaxsiy ma’lumotlar va obyektlar JWT subyekti bilan cheklangan.
Xususiyatlar: operatsiya holatni o‘zgartiradi yoki bir martalik avtorizatsiyani davom ettiradi; misol API interfeysining shartlarini tavsiflaydi va bajarilmaydi.
Xususiyatlar: javob maxfiy key’ni o‘z ichiga oladi; haqiqiy qiymatlarni e’lon qilmang.
GET /api/v1/keys/:id — Identifikator bo‘yicha olish — API kalitlari
Kirish: Boshqaruv paneli tokeni
/api/v1/keys/:idcurl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
-H "Authorization: Bearer $TOKEN"Yo‘l parametrlari
| Maydon: | Tur | Majburiy | Tekshiruv / tavsif |
|---|---|---|---|
id | integer | ha |
So‘rov tanasi talab qilinmaydi. Yuqoridagi parametrlarni URL orqali uzating.
Javob
JSON javobi code, message va data maydonlarini o‘z ichiga oladi. data mazmuni quyidagi sxemalarda tasvirlangan.
Javob ma’lumotlari sxemalari: APIKey. Maydonlar va turlar “Ma’lumotlar sxemalari” sahifalarida.
{
"code": 0,
"message": "success",
"data": {
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
}Xususiyatlar: Barcha shaxsiy ma’lumotlar va obyektlar JWT subyekti bilan cheklangan.
Xususiyatlar: javob maxfiy key’ni o‘z ichiga oladi; haqiqiy qiymatlarni e’lon qilmang.
PUT /api/v1/keys/:id — API kalitini o‘zgartirish
Kirish: Boshqaruv paneli tokeni
/api/v1/keys/:idYo‘l parametrlari
| Maydon: | Tur | Majburiy | Tekshiruv / tavsif |
|---|---|---|---|
id | integer | ha |
JSON / forma maydonlari
| Maydon: | Tur | Majburiy | Tekshiruv / tavsif |
|---|---|---|---|
name | string | yo‘q | |
status | string | yo‘q | omitempty,oneof=active inactive |
ip_whitelist | array | yo‘q | ; Ruxsat etilgan IP’lar: null ro‘yxatni o‘zgartirmaydi, bo‘sh massiv uni tozalaydi; null bo‘lishi mumkin |
ip_blacklist | array | yo‘q | ; Taqiqlangan IP’lar: null ro‘yxatni o‘zgartirmaydi, bo‘sh massiv uni tozalaydi; null bo‘lishi mumkin |
quota | number | yo‘q | ; Kalitning USD’dagi sarf limiti; 0 — limitsiz; null bo‘lishi mumkin |
expires_at | string | yo‘q | ; Amal qilish muddati tugash vaqti ISO 8601 formatida; null bo‘lishi mumkin |
reset_quota | boolean | yo‘q | ; Sarf limitining sarflangan qismini nolga tushirish; null bo‘lishi mumkin |
rate_limit_5h | number | yo‘q | ; null bo‘lishi mumkin |
rate_limit_1d | number | yo‘q | ; null bo‘lishi mumkin |
rate_limit_7d | number | yo‘q | ; null bo‘lishi mumkin |
reset_rate_limit_usage | boolean | yo‘q | ; Sarf davrlari limitlarida hisoblangan sarfni nolga tushirish; null bo‘lishi mumkin |
{
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"quota": "PLACEHOLDER_QUOTA (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"reset_quota": "PLACEHOLDER_RESET_QUOTA (boolean)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"reset_rate_limit_usage": "PLACEHOLDER_RESET_RATE_LIMIT_USAGE (boolean)"
}PLACEHOLDER siz kiritadigan qiymat va uning turini bildiradi. Qiymatlarni almashtiring va faqat kerakli ixtiyoriy maydonlarni qoldiring; sonlar, boolean, obyektlar yoki massivlar o‘rniga matnli belgilar yuborilmaydi.
So‘rov sxemasi: UpdateAPIKeyRequest
Javob
JSON javobi code, message va data maydonlarini o‘z ichiga oladi. data mazmuni quyidagi sxemalarda tasvirlangan.
Javob ma’lumotlari sxemalari: APIKey. Maydonlar va turlar “Ma’lumotlar sxemalari” sahifalarida.
{
"code": 0,
"message": "success",
"data": {
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
}Xususiyatlar: Barcha shaxsiy ma’lumotlar va obyektlar JWT subyekti bilan cheklangan.
Xususiyatlar: operatsiya holatni o‘zgartiradi yoki bir martalik avtorizatsiyani davom ettiradi; misol API interfeysining shartlarini tavsiflaydi va bajarilmaydi.
Xususiyatlar: javob maxfiy key’ni o‘z ichiga oladi; haqiqiy qiymatlarni e’lon qilmang.
Xususiyatlar: kalit bo‘yicha zaxirali yakunlanmagan so‘rovlar bor ekan, uning sarf limitini kamaytirish yoki sarf hisoblagichlarini nolga tushirish mumkin emas. Faqat o‘zgartirayotgan maydonlaringizni yuboring.