Transcription State Manager
API Contract
REST
/api/v1/transcription-sessions
7 endpoints
GET
/api/v1/transcription-sessions/api/v1/transcription-sessions
List all dictation sessions
Public
Response Example
{
"data": [
{
"dictation_id": "dict-cc3f91",
"field_id": "field_visit_notes",
"route_id": "route-visit-form",
"state": "completed",
"started_at": "2026-03-26T09:45:00Z",
"stopped_at": "2026-03-26T09:46:20Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 11
}
}
GET
/api/v1/transcription-sessions/api/v1/transcription-sessions/:id
Get a specific dictation session and its current state
Public
Response Example
{
"dictation_id": "dict-cc3f91",
"field_id": "field_visit_notes",
"route_id": "route-visit-form",
"state": "dictating",
"state_stream_url": "/api/v1/transcription-sessions/dict-cc3f91/stream",
"started_at": "2026-03-26T09:45:00Z",
"stopped_at": null
}
POST
/api/v1/transcription-sessions/api/v1/transcription-sessions
Start a new dictation session for a given field context
Public
Request Example
{
"field_id": "field_visit_notes",
"route_id": "route-visit-form",
"draft_id": "draft-88ab12",
"context_label": "Visit Notes"
}
Response Example
{
"dictation_id": "dict-ff5a03",
"state": "dictating",
"started_at": "2026-03-26T11:05:00Z"
}
PUT
/api/v1/transcription-sessions/api/v1/transcription-sessions/:id
Update metadata or state (e.g. pause) of an active dictation session
Public
Request Example
{
"state": "paused"
}
Response Example
{
"dictation_id": "dict-ff5a03",
"state": "paused",
"updated_at": "2026-03-26T11:06:00Z"
}
DELETE
/api/v1/transcription-sessions/api/v1/transcription-sessions/:id
Cancel and remove a dictation session, discarding any partial transcription
Public
Response Example
{
"dictation_id": "dict-ff5a03",
"cancelled": true,
"partial_discarded": true
}
POST
/api/v1/transcription-sessions/api/v1/transcription-sessions/:id/stop
Stop dictation and commit the transcription
Public
Response Example
{
"dictation_id": "dict-ff5a03",
"state": "completed",
"stopped_at": "2026-03-26T11:07:15Z",
"committed_text": "Patient reported improved mobility since last visit."
}
GET
/api/v1/transcription-sessions/api/v1/transcription-sessions/:id/stream
SSE stream of real-time dictation state changes and interim transcription results
Public
Response Example
{
"event": "interim_result",
"dictation_id": "dict-ff5a03",
"text": "Patient reported improved mobility",
"is_final": false,
"timestamp": "2026-03-26T11:06:30Z"
}