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

# Быстрый старт

> Начните работу с Avala менее чем за 60 секунд

<Tip>
  **Предварительные требования:** Вам нужен аккаунт Avala. [Зарегистрируйтесь на avala.ai](https://avala.ai) или создайте аккаунт программно через SDK (см. ниже), затем создайте API-ключ в разделе **[Настройки > Безопасность](https://avala.ai/settings?section=security)**.
</Tip>

<CodeGroup>
  ```bash Python theme={null}
  pip install avala
  ```

  ```bash TypeScript theme={null}
  npm install @avala-ai/sdk
  ```

  ```bash CLI theme={null}
  curl -fsSL https://avala.ai/install.sh | bash
  ```
</CodeGroup>

<CodeGroup>
  ```python Python theme={null}
  from avala import Client

  client = Client(api_key="avk_your_api_key")

  for dataset in client.datasets.list():
      print(dataset.name, dataset.item_count)
  ```

  ```typescript TypeScript theme={null}
  import Avala from "@avala-ai/sdk";

  const avala = new Avala({ apiKey: "avk_your_api_key" });

  const page = await avala.datasets.list();
  page.items.forEach(d => console.log(d.name, d.itemCount));
  ```

  ```bash CLI theme={null}
  export AVALA_API_KEY="avk_your_api_key"
  avala datasets list
  ```

  ```bash cURL theme={null}
  curl https://api.avala.ai/api/v1/datasets/ \
    -H "X-Avala-Api-Key: avk_your_api_key"
  ```
</CodeGroup>

Вот и всё. Ниже — пошаговое руководство о том, что происходит и что можно делать дальше.

***

## Создание аккаунта

Вы можете зарегистрироваться на [avala.ai](https://avala.ai) или создать аккаунт программно. Функция SDK `signup` не требует API-ключа — она возвращает его при успешной регистрации.

<CodeGroup>
  ```python Python theme={null}
  from avala import signup

  result = signup(email="dev@acme.com", password="SecurePass123!")
  print(f"API Key: {result.api_key}")
  ```

  ```typescript TypeScript theme={null}
  import { signup } from "@avala-ai/sdk";

  const result = await signup({ email: "dev@acme.com", password: "SecurePass123!" });
  console.log(`API Key: ${result.apiKey}`);
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.avala.ai/api/v1/signup/ \
    -H "Content-Type: application/json" \
    -d '{"email": "dev@acme.com", "password": "SecurePass123!"}'
  ```
</CodeGroup>

***

## Получение API-ключа

1. Войдите в [Mission Control](https://avala.ai).
2. Перейдите в **[Настройки > Безопасность](https://avala.ai/settings?section=security)**.
3. Нажмите **Создать API-ключ**, дайте ему имя, выберите области доступа и скопируйте ключ.

<Warning>
  API-ключи отображаются только один раз при создании. Сохраните ключ в надёжном месте перед закрытием диалога.
</Warning>

Установите его как переменную окружения, чтобы все SDK и CLI подхватывали его автоматически:

```bash theme={null}
export AVALA_API_KEY="avk_your_api_key"
```

## Список наборов данных

<CodeGroup>
  ```python Python theme={null}
  from avala import Client

  client = Client()  # читает AVALA_API_KEY из окружения

  for dataset in client.datasets.list():
      print(f"{dataset.name} — {dataset.item_count} items")
  ```

  ```typescript TypeScript theme={null}
  import Avala from "@avala-ai/sdk";

  const avala = new Avala();  // читает AVALA_API_KEY из окружения

  const page = await avala.datasets.list();
  for (const d of page.items) {
    console.log(`${d.name} — ${d.itemCount} items`);
  }
  ```

  ```bash CLI theme={null}
  avala datasets list
  ```

  ```bash cURL theme={null}
  curl https://api.avala.ai/api/v1/datasets/ \
    -H "X-Avala-Api-Key: $AVALA_API_KEY"
  ```
</CodeGroup>

## Список проектов

<CodeGroup>
  ```python Python theme={null}
  for project in client.projects.list():
      print(f"{project.name} ({project.status})")
  ```

  ```typescript TypeScript theme={null}
  const projects = await avala.projects.list();
  projects.items.forEach(p => console.log(`${p.name} (${p.status})`));
  ```

  ```bash CLI theme={null}
  avala projects list
  ```

  ```bash cURL theme={null}
  curl https://api.avala.ai/api/v1/projects/ \
    -H "X-Avala-Api-Key: $AVALA_API_KEY"
  ```
</CodeGroup>

## Создание экспорта

<CodeGroup>
  ```python Python theme={null}
  export = client.exports.create(project="proj_uid_here")
  print(f"Export {export.uid}: {export.status}")
  ```

  ```typescript TypeScript theme={null}
  const exp = await avala.exports.create({ project: "proj_uid_here" });
  console.log(`Export ${exp.uid}: ${exp.status}`);
  ```

  ```bash CLI theme={null}
  avala exports create --project proj_uid_here
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.avala.ai/api/v1/exports/ \
    -H "X-Avala-Api-Key: $AVALA_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"project": "proj_uid_here"}'
  ```
</CodeGroup>

<Info>
  Экспорты выполняются асинхронно. Проверяйте статус с помощью `client.exports.get(uid)` или командой `avala exports get <uid>` до завершения.
</Info>

## Проверка использования лимита запросов

SDK предоставляют заголовки лимита запросов из каждого ответа:

<CodeGroup>
  ```python Python theme={null}
  info = client.rate_limit_info
  print(f"{info['remaining']}/{info['limit']} requests remaining")
  print(f"Resets at: {info['reset']}")
  ```

  ```typescript TypeScript theme={null}
  const info = avala.rateLimitInfo;
  console.log(`${info.remaining}/${info.limit} requests remaining`);
  ```
</CodeGroup>

## Следующие шаги

<CardGroup cols={3}>
  <Card title="Python SDK" icon="python" href="/docs/ru/sdks/python">
    Поддержка async, пагинация, обработка ошибок и полные аннотации типов.
  </Card>

  <Card title="TypeScript SDK" icon="js" href="/docs/ru/sdks/typescript">
    Ноль зависимостей. Работает в Node.js, Deno и Bun.
  </Card>

  <Card title="Справочник CLI" icon="terminal" href="/docs/ru/sdks/cli">
    Управляйте наборами данных, проектами, экспортами и хранилищем из терминала.
  </Card>
</CardGroup>

<CardGroup cols={3}>
  <Card title="Вебхуки" icon="bell" href="/docs/integrations/webhooks">
    Получайте уведомления в реальном времени о событиях наборов данных, экспортов и задач.
  </Card>

  <Card title="MCP-сервер" icon="robot" href="/docs/integrations/mcp-setup">
    Используйте Avala с Claude, Cursor и VS Code через AI-ассистентов.
  </Card>

  <Card title="Справочник API" icon="square-terminal" href="/docs/api-reference/overview">
    Полный справочник эндпоинтов со схемами запросов и ответов.
  </Card>
</CardGroup>
