Source: https://ailoot.ai/docs/uz/cabinet/keys/
Canonical: https://ailoot.ai/docs/uz/cabinet/keys/
Language: uz

[Boshqaruv paneli API](https://ailoot.ai/docs/uz/) 

# API kalitlari

[Markdown](https://ailoot.ai/docs/uz/cabinet/keys/index.md)

Metodlar, so‘rov maydonlari va javoblar.

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

GET`/api/v1/keys`

O‘qish; ID oldingi javobingizdan olinadi

```bash
curl --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.

Javob sxemasi, qiymatlar shartli

```json
{
  "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

POST`/api/v1/keys`

## JSON / 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 |

So‘rov tanasi shabloni

```json
{
  "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.

Javob sxemasi, qiymatlar shartli

```json
{
  "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.

Metod ma’lumotlarni o‘zgartiradi. Qayta yuborish faqat metod uchun Idempotency-Key ko‘rsatilgan hollarda xavfsiz. Javob yo‘qolgan bo‘lsa, avval natijani tekshiring (masalan, kalitlar ro‘yxatini), so‘ng so‘rovni takrorlash yoki takrorlamaslikni hal qiling.

**DELETE /api/v1/keys/:id** — O‘chirish — API kalitlari

Kirish: Boshqaruv paneli tokeni

DELETE`/api/v1/keys/:id`

## Yo‘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.

Javob sxemasi, qiymatlar shartli

```json
{
  "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.

Metod ma’lumotlarni o‘zgartiradi. Qayta yuborish faqat metod uchun Idempotency-Key ko‘rsatilgan hollarda xavfsiz. Javob yo‘qolgan bo‘lsa, avval natijani tekshiring (masalan, kalitlar ro‘yxatini), so‘ng so‘rovni takrorlash yoki takrorlamaslikni hal qiling.

**GET /api/v1/keys/:id** — Identifikator bo‘yicha olish — API kalitlari

Kirish: Boshqaruv paneli tokeni

GET`/api/v1/keys/:id`

O‘qish; ID oldingi javobingizdan olinadi

```bash
curl --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.

Javob sxemasi, qiymatlar shartli

```json
{
  "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

PUT`/api/v1/keys/:id`

## Yo‘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 |

So‘rov tanasi shabloni

```json
{
  "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.

Javob sxemasi, qiymatlar shartli

```json
{
  "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.

Metod ma’lumotlarni o‘zgartiradi. Qayta yuborish faqat metod uchun Idempotency-Key ko‘rsatilgan hollarda xavfsiz. Javob yo‘qolgan bo‘lsa, avval natijani tekshiring (masalan, kalitlar ro‘yxatini), so‘ng so‘rovni takrorlash yoki takrorlamaslikni hal qiling.

Savollaringiz qoldimi? Request ID va tavsifni yuboring — tushunishga yordam beramiz.[Yordam xizmatiga yozish](mailto:support@ailoot.ai)

## Ailoot · Kompaniya va uning loyihalar portfeli





Ailoot to‘plangan faoliyat tajribasi, keng mijozlar bazasi, barqaror xizmat va doimiy KPI nazoratiga tayanadi.





Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.





Ailoot bu faoliyat tajribasini mijozlar mahsulotlari, agentlar, ilovalar va avtomatlashtirishlarda AI imkoniyatlariga API orqali kirishni ta’minlashda qo‘llaydi.
