> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowstep.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Vositalari Havolasi

> Barcha 20 ta Flowstep MCP vositalari uchun kiritish sxemasi, chiqish shakli va misollar.

Barcha vositalari MCP kontent bloklari massivini qaytaradi. Matn vositalari `{ type: "text", text: "<json-string>" }` qaytaradi. Rasm vositalari `{ type: "image", data: "<base64>", mimeType: "image/png" }` qaytaradi. Xatoda, `isError: true` o'rnatiladi va matn bloki xato xabarini o'z ichiga oladi.

***

## Fayl vositalari

### `list-files`

Joriy foydalanuvchi uchun Flowstep fayllarini ko'rsatish.

**Kiritish**

| Parameter         | Turi              | Standart | Tavsifi                               |
| ----------------- | ----------------- | -------- | ------------------------------------- |
| `orderByCreation` | `boolean`         | `true`   | Yaratilish sanasi bo'yicha tartiblash |
| `limit`           | `integer` (1–100) | `20`     | Qaytarilayotgan fayllar soni          |
| `offset`          | `integer` (≥0)    | `0`      | Paginatsiya offseti                   |

**Chiqish** — Fayl ob'ektlari JSON massivi.

```json theme={"system"}
[
  {
    "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
    "name": "Dashboard redesign",
    "created_at": "2026-04-30T15:02:13.120152+00:00",
    "updated_at": "2026-04-30T15:02:13.120152+00:00",
    "owner": true,
    "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
  }
]
```

***

### `get-file`

Identifikator bo'yicha bitta fayl oling. Fayl kontent atayinlashtirilgan — ekranlarni ko'rish uchun `get-screen` yoki `get-screen-image` dan foydalaning, va qo'shilgan yo'riqnomalarni olish uchun `get-design-guidelines` dan foydalaning.

**Kiritish**

| Parameter | Turi   | Tavsifi |
| --------- | ------ | ------- |
| `id`      | `uuid` | Fayl ID |

**Chiqish** — JSON fayl ob'ekti.

```json theme={"system"}
{
  "file": {
    "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
    "name": "Dashboard redesign",
    "project_id": "81cb84d6-c69f-492c-a895-7421b60d1a6d",
    "created_at": "2026-04-30T15:02:13.120152+00:00",
    "updated_at": "2026-04-30T15:02:13.120152+00:00",
    "access_level": "private",
    "owner": true,
    "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
  },
  "user_access_level": "write"
}
```

***

### `create-file`

Yangi Flowstep fayl yarating.

**Kiritish**

| Parameter | Turi             | Tavsifi   |
| --------- | ---------------- | --------- |
| `title`   | `string` (min 1) | Fayl nomi |

**Chiqish** — Yangi fayl `id` bilan JSON fayl ob'ekti.

```json theme={"system"}
{
  "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
  "name": "Dashboard redesign",
  "project_id": "81cb84d6-c69f-492c-a895-7421b60d1a6d",
  "created_at": "2026-04-30T15:02:13.120152+00:00",
  "updated_at": "2026-04-30T15:02:13.120152+00:00",
  "access_level": "private",
  "user_access_level": "write",
  "owner": true,
  "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
}
```

Keyingi vosita chaqiruvlarida qaytargan `id` ni `fileId` sifatida ishlating.

***

### `update-file`

Faylni qayta nomlandirish.

**Kiritish**

| Parameter | Turi             | Tavsifi   |
| --------- | ---------------- | --------- |
| `id`      | `uuid`           | Fayl ID   |
| `name`    | `string` (min 1) | Yangi nom |

**Chiqish** — Yangilangan fayl ob'ekti `get-file` bilan bir xil shaklda.

```json theme={"system"}
{
  "file": {
    "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
    "name": "Dashboard redesign (v2)",
    "project_id": "81cb84d6-c69f-492c-a895-7421b60d1a6d",
    "created_at": "2026-04-30T15:02:13.120152+00:00",
    "updated_at": "2026-04-30T15:02:13.120152+00:00",
    "access_level": "private",
    "owner": true,
    "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
  },
  "user_access_level": "write"
}
```

***

### `delete-file`

Faylni butun yo'q qilish. O'tkazgan `name` ni faylning haqiqiy nomi bilan o'chirishdan oldin tekshiriladi — agar mos kelmasa, o'chirish bekor qilinadi. Bu noto'g'ri faylni o'chirib tashlashni oldini oladi.

**Kiritish**

| Parameter | Turi     | Tavsifi                                                               |
| --------- | -------- | --------------------------------------------------------------------- |
| `id`      | `uuid`   | Fayl ID                                                               |
| `name`    | `string` | Faylning joriy nomi — mos kelishi kerak yoki o'chirish bekor qilinadi |

**Chiqish** — `"File deleted successfully"`

<Warning>
  Bu qaytarilmas. Fayldagi barcha ekranlar o'chiriladi.
</Warning>

***

## Ekran vositalari

### `list-screens`

Fayl uchun barcha yaratilgan ekranlarni ko'rsatish. Qaytargan `screenId` qiymatlarini `get-screen`, `get-screen-image`, `upload-attachment` da ekranlarga murojaat qilish uchun, va `edit-design`, `regenerate-design` yoki `expand-design` da `targets` sifatida ishlating.

**Kiritish**

| Parameter | Turi   | Tavsifi |
| --------- | ------ | ------- |
| `fileId`  | `uuid` | Fayl ID |

**Chiqish** — Ekran qisqasi bo'lgan JSON massivi.

```json theme={"system"}
[
  {
    "screenId": "3f9e6eb6-5525-4383-9375-67e0bd762dbe",
    "name": "Mobile login screen",
    "fidelity": "ui",
    "prompt": "Generate a simple mobile login screen with email and password fields and a sign in button",
    "createdAt": "2026-04-30T15:02:37.444139+00:00"
  }
]
```

`name` foydalanuvchi tayinlangan ekran nomi, yoki nomsiz bo'lsa `null`.

***

### `get-screen`

Ekranning JSX kodini oling, bu sizga kodini tahrirlash yoki Flowstep-dan tashqarida ishlash imkonini beradi. Buning o'rniga vizual ko'rinish uchun `get-screen-image` dan foydalaning.

**Kiritish**

| Parameter  | Turi   | Tavsifi                                                                                                        |
| ---------- | ------ | -------------------------------------------------------------------------------------------------------------- |
| `fileId`   | `uuid` | Fayl ID                                                                                                        |
| `screenId` | `uuid` | `list-screens` tomonidan qaytarilgan `screenId` yoki dizayn vositasi tomonidan qaytarilgan `screenIds` massivi |

**Chiqish** — Ekran kod sifatida (JSX). `add-screen` vositasini ishlatganda talab qiladigan birinchi qator kommentini e'tibor qiling.

```json theme={"system"}
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" screenId: "c13d3707-0efe-49f5-b6cb-0ca5ac5223d0" -->
<div className="bg-white text-zinc-950 w-full h-fit">
  <div className="flex p-6 flex-col gap-6">
    <div className="flex pt-4 justify-between items-center">
      <ArrowLeft className="size-5 text-[#71717b]" />
      <span className="font-semibold text-zinc-950 text-lg leading-7">
        World Clock
      </span>
      <Plus className="size-5 text-[#2b7fff]" />
    </div>
    <div className="rounded-xl bg-zinc-100 flex p-2 items-center gap-2">
      <Search className="size-4 text-[#71717b] ml-2" />
      <span className="text-[#71717b] text-sm leading-5">Search cities...</span>
    </div>
...
    <div className="flex pt-2 pb-4 justify-center items-center gap-4">
      <Button variant="outline" className="rounded-full px-6 gap-2">
        <Clock className="size-4" />
        <span>Compare</span>
      </Button>
      <Button className="rounded-full bg-[#2b7fff] text-blue-50 px-6 gap-2">
        <Bell className="size-4" />
        <span>Set Alert</span>
      </Button>
    </div>
  </div>
</div>;

```

***

### `add-screen`

Flowstep fayliga raw JSX stringdan yangi ekran qo'shadi.

**Kiritish**

| Parameter    | Turi     | Tavsifi                                                                     |
| ------------ | -------- | --------------------------------------------------------------------------- |
| `fileId`     | `uuid`   | Fayl ID                                                                     |
| `jsxContent` | `string` | Faylga ekran sifatida qo'shish uchun JSX                                    |
| `screenType` | `string` | Ekran turi JSX boshida komment sifatida belgilanmagan bo'lsa talab qilinadi |

**Eslatma** — JSX boshida quyida ko'rsatilgandek komment bo'lishi KERAK, chunki u ekranlarni to'g'ri qo'shish uchun ishlatiladi. `screenType`, `name` va `screenId` hammasi ixtiyoriy — `screenId` mavjud bo'lsa (masalan, `get-screen` chiqishidan nusxalangan JSX ni o'tkazganda) ichida ishlatiladi, lekin majbur emas. Ekran nomi kommentning `name` maydoni (ya'ni "Copy of \<name>") yoki yo'q bo'lsa "Untitled" ni oladigan.

`<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->`

**Chiqish** — Yangi qo'shilgan ekran Id.

```json theme={"system"}
{ "screenId": "3f9e6eb6-5525-4383-9375-67e0bd762dbf" }
```

***

### `get-screen-image`

Ekranni PNG-ga render qiling va uni qatorida rasm sifatida qaytaring. Rasm kontent bloklarini qo'llab-quvatlovchi klient talab qiladi.

**Kiritish**

| Parameter  | Turi   | Tavsifi                                                                                                        |
| ---------- | ------ | -------------------------------------------------------------------------------------------------------------- |
| `fileId`   | `uuid` | Fayl ID                                                                                                        |
| `screenId` | `uuid` | `list-screens` tomonidan qaytarilgan `screenId` yoki dizayn vositasi tomonidan qaytarilgan `screenIds` massivi |

**Chiqish** — MCP rasm kontent bloki (`image/png`).

***

## AI vositalari

<Warning>
  `regenerate-design`, `expand-design` va `edit-design` faqat `designs` massivi bilan dastlab yaratilgan ekranlarda bo'lgan dizayn kontekstini talab qiladi. Dizayn kontekstisiz yaratilgan ekranlar xato qaytaradi. Yechim: `upload-attachment` dan ekranni rasm sifatida render qilish uchun foydalaning, keyin `create-new-design` ni rasmi `attachments` da va kerakli o'zgarishlarni tavsiflovchi xabar bilan chaqiring.
</Warning>

### `create-new-design`

Matn prompt'idan bir yoki bir nechta ekran dizaynini yaratish. Yangi faylni avtomatik qilish uchun `fileId` ni o'tkazib yuboring. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.

**Kiritish**

| Parameter     | Turi                              | Standart | Tavsifi                                                                                                                                                               |
| ------------- | --------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fileId`      | `uuid`                            | —        | Maqsadli fayl — yangi faylni avtomatik qilish uchun o'tkazib yuboring                                                                                                 |
| `message`     | `string`                          | —        | Yaratilayotgan ekranlarni tavsiflovchi prompt                                                                                                                         |
| `attachments` | `AttachmentRequestData[]` (max 5) | `[]`     | Oldindan yuklangan qo'shimchalar — rasmlar, PDF-lar yoki kod fayllar. Har doim avval `upload-attachment` orqali yuklang; faylning mazmunini xabarning ichida qo'lmang |
| `designs`     | `DesignRequestData[]`             | `[]`     | Dizayn havolalari                                                                                                                                                     |

**Chiqish** — `{ fileId, screenIds }`. Natijalarni ko'rish uchun har bir `screenId` ni `get-screen-image` ga o'tkazing.

```json theme={"system"}
{
  "fileId": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
  "screenIds": ["3f9e6eb6-5525-4383-9375-67e0bd762dbe"]
}
```

***

### `regenerate-design`

Mavjud ekranlarni noldan qayta qiling yoki uslub varianti bilan. `targets` da kamida bitta `screenId` talab qiladi. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.

**Kiritish**

| Parameter          | Turi                                                        | Standart | Tavsifi                                     |
| ------------------ | ----------------------------------------------------------- | -------- | ------------------------------------------- |
| `fileId`           | `uuid`                                                      | —        | Maqsadli fayl                               |
| `message`          | `string`                                                    | —        | Prompt matn                                 |
| `targets`          | `uuid[]` (min 1)                                            | —        | Qayta yaratilayotgan ekranlarning screenIds |
| `operationVariant` | `"different_layout" \| "different_style" \| "from_scratch"` | —        | Ixtiyoriy uslub varianti                    |
| `designs`          | `DesignRequestData[]`                                       | `[]`     | Dizayn havolalari (avtomatik tuzilgan)      |

**Chiqish** — `{ fileId, screenIds }`. Natijalarni ko'rish uchun har bir `screenId` ni `get-screen-image` ga o'tkazing.

***

### `expand-design`

Mavjud dizayniga keyingi ekranlarni qo'shish. `targets` da kamida bitta `screenId` va majbur `operationVariant` talab qiladi. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.

**Kiritish**

| Parameter          | Turi                                                                                                                                                           | Standart | Tavsifi                                        |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------- |
| `fileId`           | `uuid`                                                                                                                                                         | —        | Maqsadli fayl                                  |
| `message`          | `string`                                                                                                                                                       | —        | Prompt matn                                    |
| `targets`          | `uuid[]` (min 1)                                                                                                                                               | —        | Kengaytirilayotgan ekranlarning screenIds      |
| `operationVariant` | `"next_screen" \| "error_state" \| "empty_state" \| "web_version" \| "mobile_version" \| "tablet_version" \| "mobile_ios_version" \| "mobile_android_version"` | —        | **Majbur** — yaratilayotgan keyingi ekran turi |
| `designs`          | `DesignRequestData[]`                                                                                                                                          | `[]`     | Dizayn havolalari (avtomatik tuzilgan)         |

**Chiqish** — `{ fileId, screenIds }`. Natijalarni ko'rish uchun har bir `screenId` ni `get-screen-image` ga o'tkazing.

***

### `edit-design`

Prompt orqali mavjud ekranlarni o'zgartirish. `targets` da kamida bitta `screenId` talab qiladi. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.

**Kiritish**

| Parameter          | Turi                                             | Standart | Tavsifi                                                                             |
| ------------------ | ------------------------------------------------ | -------- | ----------------------------------------------------------------------------------- |
| `fileId`           | `uuid`                                           | —        | Maqsadli fayl                                                                       |
| `message`          | `string`                                         | —        | Qo'llanilayotgan tahrirotlarni tavsiflovchi ko'rsatmalar                            |
| `targets`          | `uuid[]` (min 1)                                 | —        | Tahrirlanyayotgan ekranlarning screenIds                                            |
| `operationVariant` | `"dark_theme" \| "light_theme" \| "make_pretty"` | —        | Ixtiyoriy uslub stenografiyasi                                                      |
| `attachments`      | `AttachmentRequestData[]` (max 5)                | `[]`     | Oldindan yuklangan qo'shimchalar. Har doim avval `upload-attachment` orqali yuklang |
| `designs`          | `DesignRequestData[]`                            | `[]`     | Dizayn havolalari (avtomatik tuzilgan)                                              |

**Chiqish** — `{ fileId, screenIds }`. Natijalarni ko'rish uchun har bir `screenId` ni `get-screen-image` ga o'tkazing.

***

### `upload-attachment`

`create-new-design` yoki `edit-design` da qo'shimcha sifatida ishlatish uchun fayl yuklang. `{ id, path, type, mimeType }` ni qaytaradi — bu ob'ektni to'g'ridan-to'g'ri `attachments` massivinasiga o'tkazing.

Ikki rejim:

**Rejim 1 — Ekran ID bo'yicha**

`screenId` va `fileId` ni o'tkazing. Server bazadan ekran holatini oladi va uni rasm sifatida render qiladi.

| Parameter  | Turi   | Tavsifi                              |
| ---------- | ------ | ------------------------------------ |
| `fileId`   | `uuid` | Ekran o'z ichiga olgan fayl (majbur) |
| `screenId` | `uuid` | Render qilinadigan ekran             |

**Rejim 2 — Tashqi fayl**

Fayl mazmunini to'g'ridan-to'g'ri o'tkazing. Binar fayllar base64-kodlanishi kerak; matn fayllar (manba kodi ham) oddiy UTF-8 stringlar sifatida o'tkaziladi.

| Parameter  | Turi                                                                                                    | Tavsifi                                                                                 |
| ---------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `fileData` | `string`                                                                                                | Fayl mazmuni — binar uchun base64, matn uchun UTF-8 string                              |
| `fileName` | `string`                                                                                                | Asl fayl nomi                                                                           |
| `mimeType` | `"image/jpeg" \| "image/png" \| "image/webp" \| "application/pdf" \| "text/plain" \| "text/javascript"` | MIME turi. `.jsx`, `.tsx`, `.js`, `.ts` fayllar uchun `text/javascript` dan foydalaning |

Maksimal fayl hajmi: **3 MB**. Katta rasmlar uchun `image/png` o'rniga `image/jpeg` ni afzal qiling.

**Chiqish**

```json theme={"system"}
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "path": "attachments/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "image",
  "mimeType": "image/jpeg"
}
```

`type` rasm/PDF yuklamalar uchun `"image"`, matn/kod fayllar uchun `"document"`.

***

## Chat vositalari

### `get-chat-history`

Fayl uchun chat xabar tarixini oling.

**Kiritish**

| Parameter | Turi   | Tavsifi |
| --------- | ------ | ------- |
| `fileId`  | `uuid` | Fayl ID |

**Chiqish** — `messages` massivi bo'lgan JSON ob'ekti. Har bir xabar `type` (`"request"` yoki `"response"`), `author` (`"human"` yoki `"ai"`) va `content_type` (`"text"`, `"summary"` yoki `"followup"`) ga ega.

```json theme={"system"}
{
  "messages": [
    {
      "id": "453f593d-2380-425b-ba29-127db08d6a8e",
      "chat_id": "146d0f19-497e-450c-ba53-3de15f6bd70b",
      "type": "request",
      "status": "success",
      "content": "Generate a simple mobile login screen with email and password fields",
      "author": "human",
      "content_type": "text",
      "sequence": 1,
      "request_message_id": null,
      "targets": [],
      "attachments": []
    },
    {
      "id": "d860186b-82d5-4bd1-8e8e-8ba5377a14bf",
      "chat_id": "146d0f19-497e-450c-ba53-3de15f6bd70b",
      "type": "response",
      "status": "success",
      "content": "Generated a mobile login screen with email and password input fields, sign in button, remember me checkbox, forgot password link, social login options (Apple/Google), and sign up link.",
      "author": "ai",
      "content_type": "summary",
      "sequence": 7,
      "request_message_id": "453f593d-2380-425b-ba29-127db08d6a8e",
      "targets": [{ "target_id": "3f9e6eb6-5525-4383-9375-67e0bd762dbe" }],
      "attachments": []
    }
  ]
}
```

***

## Dizayn vositalari

### `get-design-guidelines`

Fayl uchun saqlangan dizayn yo'riqnomalarini oling.

**Kiritish**

| Parameter    | Turi     | Standart | Tavsifi     |
| ------------ | -------- | -------- | ----------- |
| `resourceId` | `uuid`   | —        | Fayl ID     |
| `linkedTo`   | `"file"` | `"file"` | Resurs turi |

**Chiqish**

```json theme={"system"}
{
  "guidelines": "## Colors\n\nPrimary: #6366F1\nBackground: #FFFFFF\n\n## Typography\n\nFont: Inter",
  "linkedTo": "file"
}
```

Yo'riqnomalar o'rnatilmagan bo'lsa `guidelines` `null` ga teng.

***

### `update-design-guidelines`

Fayl uchun dizayn yo'riqnomalarini o'rnatish yoki almashtirish. Yo'riqnomalar Google `design.md` formatida oddiy matn stringi sifatida o'tkaziladi — ob'ekt yoki JSON ni o'tkazmang.

Server yumshoq tasdiqlash qiladi va javobda muammolarni (noma'lum kalitlar, hex bo'lmagan ranglar) ro'yxati bilan `Warnings:` bo'limini qaytarishi mumkin — ular qabul qilingan, lekin AI tomonidan e'tibor berilmasligi mumkin. Bularni foydalanuvchiga ko'rsating.

**Kiritish**

| Parameter          | Turi             | Standart | Tavsifi                                                                               |
| ------------------ | ---------------- | -------- | ------------------------------------------------------------------------------------- |
| `resourceId`       | `uuid`           | —        | Fayl ID                                                                               |
| `designGuidelines` | `string` (min 1) | —        | Yo'riqnomalarning raw matn mazmuni. Oddiy string bo'lishi kerak — JSON-kodlangan emas |
| `linkedTo`         | `"file"`         | `"file"` | Resurs turi                                                                           |

**Tasdiqlash qoidalari**

* Frontmatter to'g'ri ochilishi va yopilishi kerak
* Frontmatter chiziqlari to'g'ri blok-uslub YAML bo'lishi kerak
* Markdown matn takrorlangan `##` bo'limlar sarlavhalarini o'z ichiga olmasligi kerak

**Chiqish** — `"Design guidelines updated successfully"`, ixtiyoriy ravishda `Warnings:` bo'limiga ergashadi.

***

### `delete-design-guidelines`

Fayl uchun dizayn yo'riqnomalarini o'chirish.

**Kiritish**

| Parameter    | Turi     | Standart | Tavsifi     |
| ------------ | -------- | -------- | ----------- |
| `resourceId` | `uuid`   | —        | Fayl ID     |
| `linkedTo`   | `"file"` | `"file"` | Resurs turi |

**Chiqish** — `"Design guidelines deleted successfully"`

***

## Figma vositalari

### `import-figma`

Figma ramkasini Flowstep fayliga kanvasda tahrirlanadigun elementlar sifatida import qiling. Bir xil ramkani qayta import qilish uni joyida yangilaydi. Faylning tashkiloti Flowstep sozlamalarida Figma ulangan bo'lishi kerak.

**Kiritish**

| Parameter  | Turi     | Tavsifi                                                                                                                                                                                                                            |
| ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `figmaUrl` | `string` | Konkret Figma ramkasiga havola. Figma-da ramkani o'ng bosing va **Copy link to selection** tanlang. Sahifasiga havola o'sha sahifadagi barcha yuqori darajadagi ramkalarni import qiladi (MCP bo'yicha 20 ramka bilan cheklangan). |
| `fileId`   | `uuid`   | Ramkani import qilinadigan Flowstep fayli                                                                                                                                                                                          |

**Chiqish** — `{ fileId, screenId }`. `screenId` import qilingan ekran elementi identifikatori — natijani ko'rish uchun uni `get-screen-image` ga o'tkazing. Sahifaning URL-si bir nechta ramkalarni import qilganda, `screenId` `null` va `frameCount` qaytarila oladi.

```json theme={"system"}
{
  "fileId": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
  "screenId": "3f9e6eb6-5525-4383-9375-67e0bd762dbe"
}
```

***

## Hisob-kitob vositalari

### `get-plan-details`

Joriy foydalanuvchining tarifi, obuna holati va qolgan kvotasini oling. Kiritish talab qilmaydi.

**Chiqish**

```json theme={"system"}
{
  "plan": {
    "name": "Starter",
    "code": "starter",
    "type": "paid"
  },
  "subscription": {
    "isPaid": true,
    "isTrial": false,
    "startDate": "2025-01-01T00:00:00Z",
    "endDate": null,
    "trialDaysRemaining": null
  },
  "limits": {
    "messages": {
      "daily": { "max": 50, "warn": 40 },
      "monthly": { "max": 500, "warn": 400 },
      "unlimited": false
    }
  },
  "usage": {
    "messages": { "daily": 12, "monthly": 87 }
  },
  "remaining": {
    "messages": { "daily": 38, "monthly": 413 }
  }
}
```

Chegaralar tarifga ko'ra farq qiladi. Mavjud kvotani tekshirish uchun yaratishlarning partiyasini boshlashdan oldin bu vositani chaqiring.
