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

Личные API-токены (tk_live_…) для интеграций. Создаются в настройках аккаунта.

Введение

Публичный Export API даёт интеграциям доступ только на чтение к транскрипциям, отчётам и проектам пользователя. API возвращает JSON по HTTPS и аутентифицируется личным API-ключом, выпускаемым в настройках аккаунта.

Базовый URL: https://meetlog.ru

Аутентификация

Все эндпойнты требуют личный API-токен в заголовке Authorization. Токены имеют префикс tk_live_ и выпускаются в настройках аккаунта. Plaintext показывается один раз — его нельзя восстановить.

Каждый токен несёт набор scopes, регулирующих доступ к ресурсам: export:transcripts, export:reports, export:projects.

Request
bash
curl https://meetlog.ru/api/v1/export/transcripts \
  -H "Authorization: Bearer tk_live_yourKeyHere"

Ошибки

Все ошибки возвращаются JSON-телом с полями error_code, error_message и status_code. HTTP-статус отражает класс ошибки:

СтатусКодКогда возникает
401UNAUTHORIZEDBearer-токен отсутствует, повреждён, отозван или просрочен.
403FORBIDDENУ ключа нет нужного scope или он используется на эндпойнте не из export.
404NOT_FOUNDРесурс не существует или не принадлежит владельцу API-ключа.
429TOO_MANY_REQUESTSПревышен rate limit для API-ключа. Учитывайте заголовок Retry-After.
json
{
  "error_code": "FORBIDDEN",
  "error_message": "Missing scope export:reports",
  "status_code": 403
}

Лимиты

Каждый ключ ограничен 60 запросами в минуту. При превышении сервер отвечает 429 + заголовок Retry-After.

Лимит действует независимо на каждый ключ — для параллельных интеграций можно выпускать несколько ключей и получать параллельные квоты.

Транскрипции

Список транскрипций

стабильный
GET/api/v1/export/transcripts

Возвращает страницу транскрипций пользователя, отсортированных по дате создания (сначала новые). Используйте параметры `page` и `page_size` для постраничной выборки.

Требуемый scope: export:transcripts

Параметры запроса

ИмяТипПо умолчаниюОписание
pageinteger1Номер страницы, начиная с 1.
page_sizeinteger50Элементов на страницу (макс. 100).

Ответ

Возвращает TranscriptsList.

Request
bash
curl https://meetlog.ru/api/v1/export/transcripts?page=1&page_size=50 \
  -H "Authorization: Bearer tk_live_yourKeyHere"
Response · 200
json
{
  "items": [
    {
      "id": "f3c8a47d-0b6d-4c2a-9b81-1b3d0f7a2e9a",
      "title": "Sales sync — Q2 kickoff",
      "created_at": "2026-05-08T09:14:22Z",
      "updated_at": "2026-05-08T09:18:01Z",
      "duration_seconds": 1842,
      "source_url": null
    }
  ],
  "meta": {
    "page": 1,
    "page_size": 50,
    "total": 137,
    "total_pages": 3
  }
}

Получить транскрипцию

стабильный
GET/api/v1/export/transcripts/{id}

Возвращает полную транскрипцию с текстом, кратким содержанием, длительностью и списком ID связанных отчётов. Возвращает 404, если транскрипция не принадлежит владельцу API-ключа.

Требуемый scope: export:transcripts

Параметры пути

ИмяТипПо умолчаниюОписание
idобязателенstringUUID транскрипции.

Ответ

Возвращает TranscriptDetail.

Request
bash
curl https://meetlog.ru/api/v1/export/transcripts/{id} \
  -H "Authorization: Bearer tk_live_yourKeyHere"
Response · 200
json
{
  "id": "f3c8a47d-0b6d-4c2a-9b81-1b3d0f7a2e9a",
  "title": "Sales sync — Q2 kickoff",
  "created_at": "2026-05-08T09:14:22Z",
  "updated_at": "2026-05-08T09:18:01Z",
  "duration_seconds": 1842,
  "source_url": null,
  "text": "## Ivan · 00:00\n\nWelcome everybody, today we'll cover…\n\n## Speaker 2 · 00:12\n\nQuick numbers on Q2…",
  "report_ids": ["a91ed3c2-…", "0ff7d0ce-…"]
}

Отчёты

Список отчётов

стабильный
GET/api/v1/export/reports

Возвращает страницу всех отчётов пользователя по всем транскрипциям. Каждый элемент содержит `transcription_id` родительской транскрипции.

Требуемый scope: export:reports

Параметры запроса

ИмяТипПо умолчаниюОписание
pageinteger1Номер страницы, начиная с 1.
page_sizeinteger50Элементов на страницу (макс. 100).

Ответ

Возвращает ReportsList.

Request
bash
curl https://meetlog.ru/api/v1/export/reports?page=1&page_size=50 \
  -H "Authorization: Bearer tk_live_yourKeyHere"
Response · 200
json
{
  "items": [
    {
      "id": "a91ed3c2-7c14-4f63-9c7e-4f1c9c7b13aa",
      "transcription_id": "f3c8a47d-0b6d-4c2a-9b81-1b3d0f7a2e9a",
      "template_code": "meeting_minutes",
      "template_name": "Meeting minutes",
      "created_at": "2026-05-08T09:18:01Z",
      "updated_at": "2026-05-08T09:18:01Z"
    }
  ],
  "meta": { "page": 1, "page_size": 50, "total": 42, "total_pages": 1 }
}

Получить отчёт

стабильный
GET/api/v1/export/reports/{id}

Возвращает содержимое отчёта в формате Markdown вместе с метаданными шаблона.

Требуемый scope: export:reports

Параметры пути

ИмяТипПо умолчаниюОписание
idобязателенstringUUID отчёта.

Ответ

Возвращает ReportDetail.

Request
bash
curl https://meetlog.ru/api/v1/export/reports/{id} \
  -H "Authorization: Bearer tk_live_yourKeyHere"
Response · 200
json
{
  "id": "a91ed3c2-7c14-4f63-9c7e-4f1c9c7b13aa",
  "transcription_id": "f3c8a47d-0b6d-4c2a-9b81-1b3d0f7a2e9a",
  "template_code": "meeting_minutes",
  "template_name": "Meeting minutes",
  "created_at": "2026-05-08T09:18:01Z",
  "updated_at": "2026-05-08T09:18:01Z",
  "content": "## Summary\n…\n## Action items\n- …"
}

Проекты

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

стабильный
GET/api/v1/export/projects

Возвращает страницу проектов пользователя. Элементы списка содержат только метаданные; для получения вложенных транскрипций используйте «Получить проект».

Требуемый scope: export:projects

Параметры запроса

ИмяТипПо умолчаниюОписание
pageinteger1Номер страницы, начиная с 1.
page_sizeinteger50Элементов на страницу (макс. 100).

Ответ

Возвращает ProjectsList.

Request
bash
curl https://meetlog.ru/api/v1/export/projects?page=1&page_size=50 \
  -H "Authorization: Bearer tk_live_yourKeyHere"
Response · 200
json
{
  "items": [
    {
      "id": "5af51e1a-fdf1-4327-97a9-08b8e13fde35",
      "name": "Team A",
      "description": "Weekly product syncs",
      "color": "#6366F1",
      "created_at": "2026-04-01T10:00:00Z",
      "updated_at": "2026-05-07T16:42:00Z"
    }
  ],
  "meta": { "page": 1, "page_size": 50, "total": 5, "total_pages": 1 }
}

Получить проект

стабильный
GET/api/v1/export/projects/{id}

Возвращает проект вместе со списком вложенных транскрипций (id, title, status, created_at).

Требуемый scope: export:projects

Параметры пути

ИмяТипПо умолчаниюОписание
idобязателенstringUUID проекта.

Ответ

Возвращает ProjectDetail.

Request
bash
curl https://meetlog.ru/api/v1/export/projects/{id} \
  -H "Authorization: Bearer tk_live_yourKeyHere"
Response · 200
json
{
  "id": "5af51e1a-fdf1-4327-97a9-08b8e13fde35",
  "name": "Team A",
  "description": "Weekly product syncs",
  "color": "#6366F1",
  "created_at": "2026-04-01T10:00:00Z",
  "updated_at": "2026-05-07T16:42:00Z",
  "transcripts": [
    {
      "id": "f3c8a47d-…",
      "title": "Sales sync — Q2 kickoff",
      "created_at": "2026-05-08T09:14:22Z",
      "updated_at": "2026-05-08T09:18:01Z",
      "duration_seconds": null,
      "source_url": null
    }
  ]
}
Машиночитаемая спецификация:export-api.yaml