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.
curl https://meetlog.ru/api/v1/export/transcripts \
-H "Authorization: Bearer tk_live_yourKeyHere"Ошибки
Все ошибки возвращаются JSON-телом с полями error_code, error_message и status_code. HTTP-статус отражает класс ошибки:
| Status | Code | When it happens |
|---|---|---|
| 401 | UNAUTHORIZED | Bearer token missing, malformed, revoked, or expired. |
| 403 | FORBIDDEN | Key lacks the required scope, or is used on a non-export endpoint. |
| 404 | NOT_FOUND | Resource does not exist or does not belong to the API key owner. |
| 429 | TOO_MANY_REQUESTS | Rate limit exceeded for the API key. Honour the Retry-After header. |
{
"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/api/v1/export/transcriptsReturns 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
| Name | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number, starting from 1. |
page_size | integer | 50 | Items per page (max 100). |
Response
Returns TranscriptsList.
curl https://meetlog.ru/api/v1/export/transcripts?page=1&page_size=50 \
-H "Authorization: Bearer tk_live_yourKeyHere"{
"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/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
| Name | Type | Default | Description |
|---|---|---|---|
idrequired | string | — | Transcript UUID. |
Response
Returns TranscriptDetail.
curl https://meetlog.ru/api/v1/export/transcripts/{id} \
-H "Authorization: Bearer tk_live_yourKeyHere"{
"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/api/v1/export/reportsReturns a page of all reports owned by the user across transcripts. Each item carries the parent `transcription_id`.
Required scope: export:reports
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number, starting from 1. |
page_size | integer | 50 | Items per page (max 100). |
Response
Returns ReportsList.
curl https://meetlog.ru/api/v1/export/reports?page=1&page_size=50 \
-H "Authorization: Bearer tk_live_yourKeyHere"{
"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/api/v1/export/reports/{id}Returns the full report content as Markdown along with template metadata.
Required scope: export:reports
Path parameters
| Name | Type | Default | Description |
|---|---|---|---|
idrequired | string | — | Report UUID. |
Response
Returns ReportDetail.
curl https://meetlog.ru/api/v1/export/reports/{id} \
-H "Authorization: Bearer tk_live_yourKeyHere"{
"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/api/v1/export/projectsReturns 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
| Name | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number, starting from 1. |
page_size | integer | 50 | Items per page (max 100). |
Response
Returns ProjectsList.
curl https://meetlog.ru/api/v1/export/projects?page=1&page_size=50 \
-H "Authorization: Bearer tk_live_yourKeyHere"{
"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/api/v1/export/projects/{id}Returns the project together with its transcripts (id, title, status, created_at).
Required scope: export:projects
Path parameters
| Name | Type | Default | Description |
|---|---|---|---|
idrequired | string | — | Project UUID. |
Response
Returns ProjectDetail.
curl https://meetlog.ru/api/v1/export/projects/{id} \
-H "Authorization: Bearer tk_live_yourKeyHere"{
"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"
}
]
}