Записи
Список записей
Заголовок раздела «Список записей»GET /api/v1/recordingsВозвращает постраничный список записей, доступных аутентифицированному пользователю.
Параметры запроса
Заголовок раздела «Параметры запроса»| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
limit | number | 20 | Количество результатов (1–100) |
offset | number | 0 | Смещение для пагинации |
search | string | - | Фильтрация по названию (частичное совпадение) |
status | string | - | Фильтрация по статусу (см. Статусы записи) |
date_from | string | - | Дата в формате ISO 8601. Возвращать только записи, созданные в эту дату или позже. |
date_to | string | - | Дата в формате ISO 8601. Возвращать только записи, созданные в эту дату или раньше. |
organization_id | string | - | Область действия для организации |
folder_id | string | - | Область действия для папки (требует organization_id) |
{ "data": [ { "id": "uuid", "status": "COMPLETED", "title": "Weekly sync", "createdAt": "2025-09-19T15:00:00.000Z", "thumbnailUrl": "https://...", "progress": 1.0, "capabilities": { "canDownload": true, "canShare": true, "canViewTranscription": true, "canGenerateSummary": true, "canAskQuestions": true } } ], "pagination": { "total": 42, "limit": 20, "offset": 0, "has_more": true }}Получить запись
Заголовок раздела «Получить запись»GET /api/v1/recordings/:idВозвращает полную информацию для одной записи.
Записи организации доступны любому члену организации, которому разрешено их просматривать. Владельцы и администраторы могут открывать любую запись в своей организации; редакторы и зрители видят записи, к которым их роль и доступ к папке разрешают. Для записи организации is_locked, download_url и capabilities отражают тарифный план организации и флаги функций члена, а не личный тарифный план вызывающего пользователя.
Возвращает 402 ORGANIZATION_SUBSCRIPTION_EXPIRED, когда подписка организации Enterprise более не активна.
{ "data": { "id": "uuid", "status": "COMPLETED", "title": "Weekly sync", "createdAt": "2025-09-19T15:00:00.000Z", "updatedAt": "2025-09-19T15:30:00.000Z", "startedAt": "2025-09-19T15:01:00.000Z", "endedAt": "2025-09-19T15:30:00.000Z", "videoUrl": "https://...", "hlsUrl": "https://...", "downloadUrl": "https://...", "downloadUrlExpiresAt": "2025-09-19T21:00:00.000Z", "thumbnailUrl": "https://...", "organizationId": "org_uuid or null", "transcription": { "status": "completed", "language": "en", "speakers": ["Speaker 1", "Speaker 2"], "segmentsCount": 184, "duration": 1740.5 }, "summary": { "status": "completed", "content": "## Key topics\n...", "topics": [ { "title": "Project timeline", "keyPoints": [ { "point": "Launch date confirmed", "details": ["Set for Q1"] } ] } ] }, "isLocked": false, "capabilities": { "canDownload": true, "canShare": true, "canViewTranscription": true, "canStartTranscription": true, "canRegenerateTranscription": false, "canRenameSpeaker": true, "canViewSummary": true, "canGenerateSummary": true, "canAskQuestions": true } }}Получить сегменты транскрипции
Заголовок раздела «Получить сегменты транскрипции»GET /api/v1/recordings/:id/transcriptВозвращает постраничные сегменты транскрипции для записи.
Записи организации следуют тем же правилам доступа, что и Получить запись. Возвращает 403 RECORDING_LOCKED, когда запись заблокирована, и 403 TRANSCRIPT_NOT_AVAILABLE, когда транскрипция отключена для организации или члена. Запись, которая еще не была транскрибирована, все равно возвращает 200 со "status": "not_started" и пустым массивом segments.
Параметры запроса
Заголовок раздела «Параметры запроса»| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
start_chunk | number | 0 | Индекс фрагмента, с которого начинать |
limit | number | 50 | Количество фрагментов (1–100) |
{ "data": { "status": "completed", "language": "en", "speakers": ["Speaker 1", "Alice"], "duration": 1740.5, "segments": [ { "id": 1, "start": 0.5, "end": 3.2, "text": "Good morning everyone.", "speaker": "Alice", "confidence": 0.97 } ], "pagination": { "total_chunks": 184, "has_more": true } }}Обновить запись
Заголовок раздела «Обновить запись»PATCH /api/v1/recordings/:idОбновить название или заметки записи. Требуется хотя бы одно поле.
Тело запроса
Заголовок раздела «Тело запроса»{ "title": "New title (1–500 characters)", "notes": "Optional notes (max 100,000 characters)"}{ "data": { "success": true }}Удалить запись
Заголовок раздела «Удалить запись»DELETE /api/v1/recordings/:idОкончательно удаляет запись и все связанные данные (транскрипцию, резюме, общие доступы).
{ "data": { "success": true }}Создать ссылку для обмена
Заголовок раздела «Создать ссылку для обмена»POST /api/v1/recordings/:id/share-linkГенерирует публичную ссылку для обмена записью.
Для записи организации любой участник, который может просматривать запись, может создать ссылку. Ссылка создается от имени владельца записи и использует тарифный план организации, поэтому ссылки download работают для записей организации, даже если личный тарифный план вызывающего пользователя бесплатный. Возвращает 403 RECORDING_LOCKED, когда запись заблокирована, и 403 SHARING_DISABLED, когда общий доступ отключен для организации или участника.
Тело запроса
Заголовок раздела «Тело запроса»{ "permission": "view"}| Значение | Описание |
|---|---|
view | Получатели могут смотреть видео и получать доступ к транскрипции/резюме |
download | Получатели также могут загружать видеофайл |
{ "data": { "share_url": "https://recordmeeting.com/app/shared/abc123", "share_token": "abc123", "permission": "view" }}Статусы записи
Заголовок раздела «Статусы записи»| Статус | Описание |
|---|---|
STARTING | Запрос на запись получен, идет настройка |
CONNECTING | Подключение к сеансу Google Meet |
WAIT_APPROVAL | Ожидание подтверждения в звонке для записи |
RECORDING | Активная запись |
UPLOADING | Загрузка на стороне клиента (чанки отправляются в хранилище) |
PROCESSING | Cloudflare Stream упаковывает HLS/DASH. Еще не доступно для воспроизведения |
MIGRATING | Видео полностью воспроизводимо; HLS переносится в долгосрочное хранилище |
COMPLETED | Запись полностью обработана и сохранена |
ERROR | Запись не удалась |
Потребители API должны рассматривать
MIGRATINGидентичноCOMPLETEDдля операций воспроизведения, загрузки и обмена - различие является внутренним.