Speech Recognition Service
API Contract
REST
/api/v1/speech-recognition
7 endpoints
GET
/api/v1/speech-recognition/api/v1/speech-recognition/sessions
List all speech recognition sessions
Public
Response Example
{
"data": [
{
"session_id": "sr-session-7f3a2c",
"field_id": "field_note_body",
"draft_id": "draft-88ab12",
"status": "completed",
"permission_granted": true,
"started_at": "2026-03-26T10:12:00Z",
"ended_at": "2026-03-26T10:14:30Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 4
}
}
GET
/api/v1/speech-recognition/api/v1/speech-recognition/sessions/:id
Get a specific speech recognition session by ID
Public
Response Example
{
"session_id": "sr-session-7f3a2c",
"field_id": "field_note_body",
"draft_id": "draft-88ab12",
"status": "completed",
"permission_granted": true,
"started_at": "2026-03-26T10:12:00Z",
"ended_at": "2026-03-26T10:14:30Z",
"config": {
"language": "en-NO",
"continuous": true,
"interim_results": true
}
}
POST
/api/v1/speech-recognition/api/v1/speech-recognition/sessions
Initialise a new speech recognition session and request microphone permission
Public
Request Example
{
"field_id": "field_note_body",
"draft_id": "draft-88ab12",
"config": {
"language": "en-NO",
"continuous": true,
"interim_results": true,
"max_alternatives": 1
}
}
Response Example
{
"session_id": "sr-session-9d1e4f",
"status": "initialised",
"permission_granted": true,
"created_at": "2026-03-26T11:00:00Z"
}
PUT
/api/v1/speech-recognition/api/v1/speech-recognition/sessions/:id
Update session config (e.g. language or continuous mode)
Public
Request Example
{
"config": {
"language": "nb-NO",
"continuous": false,
"interim_results": true
}
}
Response Example
{
"session_id": "sr-session-9d1e4f",
"status": "updated",
"config": {
"language": "nb-NO",
"continuous": false,
"interim_results": true
}
}
DELETE
/api/v1/speech-recognition/api/v1/speech-recognition/sessions/:id
Terminate and remove a speech recognition session
Public
Response Example
{
"session_id": "sr-session-9d1e4f",
"deleted": true
}
GET
/api/v1/speech-recognition/api/v1/speech-recognition/permission
Check whether microphone permission has been granted
Public
Response Example
{
"has_permission": true,
"permission_state": "granted",
"checked_at": "2026-03-26T11:00:05Z"
}
POST
/api/v1/speech-recognition/api/v1/speech-recognition/sessions/:id/start
Start listening on an initialised session
Public
Request Example
{
"config": {
"language": "en-NO",
"continuous": true,
"interim_results": true
}
}
Response Example
{
"session_id": "sr-session-9d1e4f",
"status": "listening",
"started_at": "2026-03-26T11:00:10Z"
}