Murph API

Публичная документация Pro API для транскрибации и AI-анализа

Murph API нужен, когда вы хотите забирать записи из своей системы, запускать транскрибацию без ручного кабинета, включать отдельные AI-анализы по событию и получать статус через webhooks.

Что уже поддерживается

API-ключи на аккаунт и статистика по каждому ключу

Транскрибация, transcript, отдельные AI-анализы и usage endpoint

Idempotency-Key для POST-методов

Webhook-события с retry/backoff и историей доставок

Сценарии

Что можно автоматизировать через Murph API

Это не отдельный движок, а внешний слой поверх того же пайплайна Murph, который уже работает в кабинете.

Автоматическая загрузка звонков и встреч

Передавайте запись напрямую из CRM, телефонии или внутреннего сервиса, чтобы не загружать файлы вручную в кабинет.

Запуск отдельных AI-анализов по событию

После готовности транскрипта можно сразу запускать scorecard, summary, action items и другие отдельные анализы.

Webhook-цепочки без ручного контроля

Система сама присылает события по завершению транскрибации и анализа, а история доставок видна в кабинете.

Поток

Базовый путь интеграции

Оптимальный MVP-флоу: сначала usage, потом загрузка файла, затем polling или webhook, и только после этого запуск AI-анализа.

1. Выпустите ключ в кабинете

API-ключи создаются в разделе /my/api. Полный токен показывается один раз сразу после создания.

2. Проверьте квоту и лимиты

Перед загрузкой можно получить остаток минут, текущий период и usage, чтобы не запускать интеграцию вслепую.

3. Отправьте файл на транскрибацию

Для MVP поддерживается multipart-загрузка файла. Дальше запись проходит тот же пайплайн, что и в кабинете.

4. Дождитесь результата и запустите анализ

Статус задачи можно опрашивать через API или принимать webhook-событие, а затем запускать нужный AI-отчет.

Доступ и лимиты

Авторизация, idempotency и rate limit

Для всех запросов нужен заголовок Authorization с Bearer API key. Для POST-методов используйте Idempotency-Key, чтобы безопасно повторять запрос после сетевой ошибки. Лимиты применяются на каждый API-ключ: 180 запросов в минуту и 5000 в сутки.

Bearer key

Ключ создается в /my/api и выпускается на аккаунт. Для разных интеграций лучше использовать отдельные ключи.

Idempotency-Key

Нужен для повторов POST без дублей. Это особенно важно для загрузки файла и запуска AI-анализа из очереди или cron.

Rate limit

Ограничения применяются на ключ: 180 запросов в минуту и 5000 в сутки. Текущие usage-метрики и лимиты видны в кабинете.

Быстрый старт

Рабочие примеры запросов

GET /api/v1/account/usage

curl "https://murph.ru/api/v1/account/usage" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /api/v1/transcriptions

curl -X POST "https://murph.ru/api/v1/transcriptions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: upload-call-001" \
  -F "file=@call.mp3"

POST /api/v1/transcriptions/:id/analyses

curl -X POST "https://murph.ru/api/v1/transcriptions/TRANSCRIPTION_ID/analyses" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: analysis-call-001" \
  -H "Content-Type: application/json" \
  -d '{"type":"call_scorecard"}'

Endpoints

Что делает каждый endpoint

GET

/api/v1/account/usage

Квота и период

Возвращает доступные минуты, остаток, текущий период и итоговое usage по аккаунту.

  • Используйте перед массовой загрузкой
  • Подходит для health-check интеграции
POST

/api/v1/transcriptions

Создание транскрибации

Принимает файл и создает задачу на транскрибацию. Поддерживает Idempotency-Key.

  • Формат: multipart/form-data
  • Ответ содержит id и текущий статус задачи
GET

/api/v1/transcriptions/:id

Статус задачи

Показывает состояние задачи: queued, processing, done или failed.

  • Подходит для polling
  • Можно совмещать с webhook flow
GET

/api/v1/transcriptions/:id/transcript

Готовый транскрипт

Возвращает итоговый текст, сегменты и связанные данные после завершения транскрибации.

  • Используйте после статуса done
  • Это основной вход в downstream-автоматизацию
GET

/api/v1/analysis-types

Список доступных анализов

Возвращает типы отдельных AI-анализов, которые доступны текущему Pro API.

  • Нужен для построения собственного UI
  • Позволяет не хардкодить типы отчетов
POST

/api/v1/transcriptions/:id/analyses

Запуск AI-анализа

Создает задачу на отдельный AI-анализ поверх уже готового транскрипта. Поддерживает Idempotency-Key.

  • Один id транскрибации — несколько сценариев анализа
  • Подходит для automation после webhook transcription.completed
GET

/api/v1/analyses/:id

Результат анализа

Возвращает статус и результат запущенного AI-анализа.

  • Можно опрашивать вручную
  • Или забирать результат после webhook analysis.completed

Webhooks

События, подпись и retry/backoff

Murph отправляет webhook на HTTPS endpoint. Подписывайте входящие события по X-Murph-Signature. При ошибке доставка повторяется до 4 попыток: сразу, через 1 минуту, через 5 минут и через 30 минут.

transcription.completed

Транскрибация завершена, можно забирать transcript и запускать анализ.

transcription.failed

Транскрибация завершилась ошибкой, событие удобно для alerting и retry policy.

analysis.completed

AI-анализ готов, можно забирать результат и отдавать его в CRM, BI или workflow.

analysis.failed

AI-анализ завершился ошибкой, событие нужно для операционного контроля и fallback-логики.

Webhook headers

X-Murph-Event-Id: evt_xxx
X-Murph-Event-Type: transcription.completed
X-Murph-Signature: sha256=...

Webhook payload

{
  "id": "evt_xxx",
  "type": "transcription.completed",
  "apiVersion": "v1",
  "createdAt": "2026-05-20T10:00:00.000Z",
  "data": {
    "transcription": {
      "id": "job_xxx",
      "status": "done"
    },
    "urls": {
      "transcription": "/api/v1/transcriptions/job_xxx",
      "transcript": "/api/v1/transcriptions/job_xxx/transcript"
    }
  }
}

FAQ

Частые вопросы по Murph API

Кому доступен Murph API?

Внешний API доступен только на активном тарифе Pro. Ключи и webhook-адреса создаются в разделе /my/api внутри кабинета.

Как передавать авторизацию?

Через заголовок Authorization: Bearer YOUR_API_KEY. Ключ выпускается на аккаунт и может быть отдельным для каждой интеграции.

Есть ли защита от дублей при повторных POST-запросах?

Да. Для POST-методов поддерживается Idempotency-Key. Это нужно, чтобы безопасно повторять создание транскрибации и запуск анализа после сетевых ошибок.

Какие лимиты стоят на API?

Сейчас лимиты применяются на каждый API-ключ: 180 запросов в минуту и 5000 запросов в сутки. Точные значения и usage по ключам также видны в /my/api.

Как работают webhooks?

Murph отправляет HTTPS POST на ваш endpoint и подписывает событие заголовком X-Murph-Signature. При ошибке доставка повторяется до 4 попыток по схеме 0, 1, 5 и 30 минут.

Нужен Pro API для рабочей интеграции

Перейдите на Pro, выпустите API-ключ в разделе /my/api и проверьте интеграцию на одном сценарии: usage, upload, transcript, analysis, webhook.