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

# Документация API

> Загружайте записи встреч и звонков из своей системы и получайте протокол и расшифровку.

AiGenda превращает запись встречи в протокол: о чём договорились, кто за что отвечает, кто что сказал. API делает то же, что личный кабинет, только из вашей системы: вы загружаете запись, запускаете обработку и забираете результат.

| | |
| - | - |
| Базовый адрес | `https://api.aigenda.tech` |
| Формат | JSON, кодировка UTF-8 |
| Авторизация | JWT в заголовке `Authorization: Bearer <access>` |
| Время и длительность | даты в ISO 8601 (UTC), длительность и минуты тарифа в секундах |

## Как проходит запись

<div className="not-prose my-6 rounded-2xl border border-gray-200 bg-white dark:border-white/10 dark:bg-white/5">
  <div className="flex items-start gap-4 px-5 py-4">
    <div className="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold text-white" style={{ background: "linear-gradient(135deg, #9FB6FF, #7C86F0)" }}>1</div>

    <div className="min-w-0 flex-1">
      <div className="flex flex-wrap items-center justify-between gap-x-4 gap-y-1.5">
        <div className="text-sm font-semibold text-gray-900 dark:text-gray-100">Токен</div>
        <div className="shrink-0 rounded-md bg-gray-100 px-1.5 py-0.5 font-mono text-xs text-primary dark:bg-white/10 dark:text-primary-light">POST /api/token/</div>
      </div>

      <div className="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Получаете по почте и паролю аккаунта AiGenda</div>
    </div>
  </div>

  <div className="flex items-start gap-4 px-5 py-4 border-t border-gray-100 dark:border-white/5">
    <div className="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold text-white" style={{ background: "linear-gradient(135deg, #9FB6FF, #7C86F0)" }}>2</div>

    <div className="min-w-0 flex-1">
      <div className="flex flex-wrap items-center justify-between gap-x-4 gap-y-1.5">
        <div className="text-sm font-semibold text-gray-900 dark:text-gray-100">Пространство</div>
        <div className="shrink-0 rounded-md bg-gray-100 px-1.5 py-0.5 font-mono text-xs text-primary dark:bg-white/10 dark:text-primary-light">GET /api/spaces/</div>
      </div>

      <div className="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Выбираете, где лежат записи и с какого тарифа списываются минуты</div>
    </div>
  </div>

  <div className="flex items-start gap-4 px-5 py-4 border-t border-gray-100 dark:border-white/5">
    <div className="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold text-white" style={{ background: "linear-gradient(135deg, #9FB6FF, #7C86F0)" }}>3</div>

    <div className="min-w-0 flex-1">
      <div className="flex flex-wrap items-center justify-between gap-x-4 gap-y-1.5">
        <div className="text-sm font-semibold text-gray-900 dark:text-gray-100">Загрузка</div>
        <div className="shrink-0 rounded-md bg-gray-100 px-1.5 py-0.5 font-mono text-xs text-primary dark:bg-white/10 dark:text-primary-light">POST …/audio/</div>
      </div>

      <div className="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Файлом, по ссылке, с YouTube или ботом на встречу</div>
    </div>
  </div>

  <div className="flex items-start gap-4 px-5 py-4 border-t border-gray-100 dark:border-white/5">
    <div className="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold text-white" style={{ background: "linear-gradient(135deg, #9FB6FF, #7C86F0)" }}>4</div>

    <div className="min-w-0 flex-1">
      <div className="flex flex-wrap items-center justify-between gap-x-4 gap-y-1.5">
        <div className="text-sm font-semibold text-gray-900 dark:text-gray-100">Обработка</div>
        <div className="shrink-0 rounded-md bg-gray-100 px-1.5 py-0.5 font-mono text-xs text-primary dark:bg-white/10 dark:text-primary-light">POST /api/audio/classify/</div>
      </div>

      <div className="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Запускаете и опрашиваете статус</div>
    </div>
  </div>

  <div className="flex items-start gap-4 px-5 py-4 border-t border-gray-100 dark:border-white/5">
    <div className="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold text-white" style={{ background: "linear-gradient(135deg, #9FB6FF, #7C86F0)" }}>5</div>

    <div className="min-w-0 flex-1">
      <div className="flex flex-wrap items-center justify-between gap-x-4 gap-y-1.5">
        <div className="text-sm font-semibold text-gray-900 dark:text-gray-100">Результат</div>
        <div className="shrink-0 rounded-md bg-gray-100 px-1.5 py-0.5 font-mono text-xs text-primary dark:bg-white/10 dark:text-primary-light">GET …/result/</div>
      </div>

      <div className="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400">Протокол в Markdown, расшифровка по репликам, исходный файл</div>
    </div>
  </div>
</div>

<CardGroup cols={2}>
  <Card title="Быстрый старт" icon="rocket" href="/quickstart">
    Первый протокол за шесть запросов curl.
  </Card>

  <Card title="Способы загрузки" icon="upload" href="/upload/overview">
    Файл, ссылка, YouTube или бот на встречу.
  </Card>

  <Card title="Структура результата" icon="file-text" href="/processing/result">
    Что лежит в протоколе и расшифровке.
  </Card>

  <Card title="Полный пример" icon="code" href="/reference/full-example">
    Скрипт на Python от входа до готового протокола.
  </Card>
</CardGroup>

## Что понадобится

* **Аккаунт AiGenda с паролем.** Если вы входите в кабинет через Google, задайте пароль на странице [восстановления пароля](https://personal.aigenda.tech/ru/recovery-password).
* **Минуты на тарифе.** Обработка списывает их по длительности записи. Остаток видно в кабинете и в API, см. [Пространства и минуты](/spaces).

<Tip>
  Заведите под интеграцию отдельный аккаунт и пригласите его в нужное пространство. Тогда интеграция не зависит от пароля конкретного сотрудника, а записи из API легко отличить в кабинете.
</Tip>

<Note>
  Пишете интеграцию с помощью AI-агента? Дайте ему ссылку на [полную версию документации одним файлом](https://docs.aigenda.tech/llms-full.txt) и готовый промпт со страницы [Интеграция с AI-агентом](/reference/ai-agents).
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.