
API для ваших процессов
Передавайте готовые записи из своих систем, запускайте транскрибацию и отдельные ИИ-анализы, получайте статусы через webhooks.
Сценарии
Что можно автоматизировать через murph. API
Это не отдельный движок, а внешний слой поверх того же пайплайна murph., который уже работает в кабинете.
Запуск отдельных ИИ-анализов по событию
После готовности транскрипта можно сразу запускать scorecard, summary, action items и другие отдельные анализы.
Webhook-цепочки без ручного контроля
Система сама присылает события по завершению транскрибации и анализа, а история доставок видна в кабинете.
Поток
Базовый путь интеграции
Оптимальный MVP-флоу: сначала usage, потом загрузка файла, затем polling или webhook, и только после этого запуск ИИ-анализа.
1. Выпустите ключ в кабинете
API-ключи создаются в разделе /my/api. Полный токен показывается один раз сразу после создания.
2. Проверьте квоту и лимиты
Перед загрузкой можно получить остаток минут, текущий период и usage, чтобы не запускать интеграцию вслепую.
3. Отправьте файл на транскрибацию
Для MVP поддерживается multipart-загрузка файла. Дальше запись проходит тот же пайплайн, что и в кабинете.
4. Дождитесь результата и запустите анализ
Статус задачи можно опрашивать через API или принимать webhook-событие, а затем запускать нужный ИИ-отчёт.
Доступ и лимиты
Авторизация, idempotency и rate limit
Для всех запросов нужен заголовок Authorization с Bearer API key. Для POST-методов используйте Idempotency-Key, чтобы безопасно повторять запрос после сетевой ошибки. Лимиты применяются на каждый API-ключ: 180 запросов в минуту и 5000 в сутки.
Bearer key
Ключ создается в /my/api и выпускается на аккаунт. Для разных интеграций лучше использовать отдельные ключи.
Idempotency-Key
Нужен для повторов POST без дублей. Это особенно важно для загрузки файла и запуска ИИ-анализа из очереди или 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
/api/v1/account/usage
Квота и период
Возвращает доступные минуты, остаток, текущий период и итоговое usage по аккаунту.
- Используйте перед массовой загрузкой
- Подходит для health-check интеграции
/api/v1/transcriptions
Создание транскрибации
Принимает файл и создает задачу на транскрибацию. Поддерживает Idempotency-Key.
- Формат: multipart/form-data
- Ответ содержит id и текущий статус задачи
/api/v1/transcriptions/:id
Статус задачи
Показывает состояние задачи: queued, processing, done или failed.
- Подходит для polling
- Можно совмещать с webhook flow
/api/v1/transcriptions/:id/transcript
Готовый транскрипт
Возвращает итоговый текст, сегменты и связанные данные после завершения транскрибации.
- Используйте после статуса done
- Это основной вход в downstream-автоматизацию
/api/v1/analysis-types
Список доступных анализов
Возвращает типы отдельных ИИ-анализов, доступные текущему аккаунту.
- Нужен для построения собственного UI
- Позволяет не хардкодить типы отчетов
/api/v1/transcriptions/:id/analyses
Запуск ИИ-анализа
Создаёт задачу на отдельный ИИ-анализ поверх уже готового транскрипта. Поддерживает Idempotency-Key.
- Один id транскрибации — несколько сценариев анализа
- Подходит для automation после webhook transcription.completed
/api/v1/analyses/:id
Результат анализа
Возвращает статус и результат запущенного ИИ-анализа.
- Можно опрашивать вручную
- Или забирать результат после 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
ИИ-анализ готов, можно забирать результат и отдавать его в CRM, BI или workflow.
analysis.failed
ИИ-анализ завершился ошибкой, событие нужно для операционного контроля и 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 минут.
Нужен API для рабочей интеграции
Запросите отдельный доступ, выпустите API-ключ в разделе /my/api и проверьте интеграцию на одном сценарии: usage, upload, transcript, analysis, webhook.