Dictation Scope Guard
API Contract
REST
/api/v1/dictation-scopes
6 endpoints
GET
/api/v1/dictation-scopes/api/v1/dictation-scopes
List all approved dictation scopes (route + field combinations)
Public
Response Example
{
"data": [
{
"scope_id": "scope-a1b2c3",
"route_id": "route-visit-form",
"field_ids": [
"field_visit_notes",
"field_observations"
],
"registered_at": "2026-03-01T08:00:00Z"
},
{
"scope_id": "scope-d4e5f6",
"route_id": "route-activity-log",
"field_ids": [
"field_activity_description"
],
"registered_at": "2026-03-10T09:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/dictation-scopes/api/v1/dictation-scopes/:id
Get a specific approved dictation scope by scope ID
Public
Response Example
{
"scope_id": "scope-a1b2c3",
"route_id": "route-visit-form",
"field_ids": [
"field_visit_notes",
"field_observations"
],
"registered_at": "2026-03-01T08:00:00Z"
}
POST
/api/v1/dictation-scopes/api/v1/dictation-scopes
Register an approved dictation context (route + allowed field IDs)
Public
Request Example
{
"route_id": "route-patient-intake",
"field_ids": [
"field_chief_complaint",
"field_history"
]
}
Response Example
{
"scope_id": "scope-g7h8i9",
"route_id": "route-patient-intake",
"field_ids": [
"field_chief_complaint",
"field_history"
],
"registered_at": "2026-03-26T11:10:00Z"
}
PUT
/api/v1/dictation-scopes/api/v1/dictation-scopes/:id
Update the allowed field list for an existing approved scope
Public
Request Example
{
"field_ids": [
"field_chief_complaint",
"field_history",
"field_medications"
]
}
Response Example
{
"scope_id": "scope-g7h8i9",
"route_id": "route-patient-intake",
"field_ids": [
"field_chief_complaint",
"field_history",
"field_medications"
],
"updated_at": "2026-03-26T11:15:00Z"
}
DELETE
/api/v1/dictation-scopes/api/v1/dictation-scopes/:id
Revoke an approved dictation scope, blocking dictation on that route
Public
Response Example
{
"scope_id": "scope-g7h8i9",
"revoked": true
}
POST
/api/v1/dictation-scopes/api/v1/dictation-scopes/check
Check whether dictation is allowed for a given field context, returning prohibition reason if blocked
Public
Request Example
{
"route_id": "route-read-only-summary",
"field_id": "field_summary_text"
}
Response Example
{
"allowed": false,
"prohibition_reason": "Field 'field_summary_text' is not in the approved list for route 'route-read-only-summary'."
}