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

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

Введение

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

Base URL: https://meetlog.ru

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

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

Each token carries a set of scopes that gate access to specific resources: 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-статус отражает класс ошибки:

StatusCodeWhen it happens
401UNAUTHORIZEDBearer token missing, malformed, revoked, or expired.
403FORBIDDENKey lacks the required scope, or is used on a non-export endpoint.
404NOT_FOUNDResource does not exist or does not belong to the API key owner.
429TOO_MANY_REQUESTSRate limit exceeded for the API key. Honour the Retry-After header.
json
{
  "error_code": "FORBIDDEN",
  "error_message": "Missing scope export:reports",
  "status_code": 403
}

Лимиты

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

The limit applies independently per key, so creating multiple keys for parallel integrations gives you parallel quotas.

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

List transcripts

stable
GET/api/v1/export/transcripts

Returns a page of the user's transcripts ordered by creation date (newest first). Use the `page` and `page_size` query parameters to iterate through all pages.

Required scope: export:transcripts

Query parameters

NameTypeDefaultDescription
pageinteger1Page number, starting from 1.
page_sizeinteger50Items per page (max 100).

Response

Returns 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",
      "status": "completed",
      "created_at": "2026-05-08T09:14:22Z",
      "duration_seconds": 1842,
      "source_url": null
    }
  ],
  "meta": {
    "page": 1,
    "page_size": 50,
    "total": 137,
    "total_pages": 3
  }
}

Get transcript

stable
GET/api/v1/export/transcripts/{id}

Returns the full transcript with text, summary, duration and a list of related report IDs. Returns 404 if the transcript does not belong to the API key owner.

Required scope: export:transcripts

Path parameters

NameTypeDefaultDescription
idrequiredstringTranscript UUID.

Response

Returns 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",
  "status": "completed",
  "created_at": "2026-05-08T09:14:22Z",
  "duration_seconds": 1842,
  "source_url": null,
  "text": "Welcome everybody, today we'll cover…",
  "summary": "Q2 sales priorities and account assignments.",
  "file_size_mb": 18.4,
  "report_ids": ["a91ed3c2-…", "0ff7d0ce-…"]
}

Отчёты

List reports

stable
GET/api/v1/export/reports

Returns a page of all reports owned by the user across transcripts. Each item carries the parent `transcription_id`.

Required scope: export:reports

Query parameters

NameTypeDefaultDescription
pageinteger1Page number, starting from 1.
page_sizeinteger50Items per page (max 100).

Response

Returns 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_name": "Meeting minutes",
      "template_code": "meeting_minutes",
      "status": "completed",
      "is_auto_generated": true,
      "created_at": "2026-05-08T09:18:01Z"
    }
  ],
  "meta": { "page": 1, "page_size": 50, "total": 42, "total_pages": 1 }
}

Get report

stable
GET/api/v1/export/reports/{id}

Returns the full report content as Markdown along with template metadata.

Required scope: export:reports

Path parameters

NameTypeDefaultDescription
idrequiredstringReport UUID.

Response

Returns 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_name": "Meeting minutes",
  "template_code": "meeting_minutes",
  "status": "completed",
  "is_auto_generated": true,
  "created_at": "2026-05-08T09:18:01Z",
  "content": "## Summary\n…\n## Action items\n- …"
}

Проекты

List projects

stable
GET/api/v1/export/projects

Returns a page of the user's projects. Project items contain only metadata; use Get project to retrieve nested transcripts.

Required scope: export:projects

Query parameters

NameTypeDefaultDescription
pageinteger1Page number, starting from 1.
page_sizeinteger50Items per page (max 100).

Response

Returns 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 project

stable
GET/api/v1/export/projects/{id}

Returns the project together with its transcripts (id, title, status, created_at).

Required scope: export:projects

Path parameters

NameTypeDefaultDescription
idrequiredstringProject UUID.

Response

Returns 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",
      "status": "completed",
      "created_at": "2026-05-08T09:14:22Z"
    }
  ]
}
Machine-readable spec:export-api.yaml