---
title: "Transcribe Interview Voice"
method: POST
path: "/thesis-interviews/{session_id}/voice-transcriptions"
tags: ["thesis-interviews"]
---

# Transcribe Interview Voice

`POST /thesis-interviews/{session_id}/voice-transcriptions`

## Request

- Base URL: `https://api.tickertrac.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tickertrac.com/thesis-interviews/{session_id}/voice-transcriptions`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Transcribe one bounded recording, then return text for explicit human review.

No audio bytes are persisted. A durable text receipt makes a lost HTTP response
idempotent; the transcript does not become an interview message until the ordinary
message route receives the user's reviewed text.

## Path parameters

- `session_id` integer, required

## Headers

- `x-voice-transcription-key` string, required
- `x-audio-duration-ms` integer, required

## Response `200`

Successful Response

- VoiceTranscriptionOut
  - `transcription_id` integer, required
  - `text` string, required
  - `model` string, required
  - `audio_seconds` number, nullable, required
  - `cached` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tickertrac/apis/tickerrag-api.md) · [All operations](https://skmtc.dev/tickertrac/apis/tickerrag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tickertrac/apis/tickerrag-api/revisions/3c7eb0f6425d?raw)
