2:I[7012,["4765","static/chunks/4765-f5afdf8061f456f3.js","9856","static/chunks/9856-3b185291364d9bef.js","6687","static/chunks/app/docs/%5B...slug%5D/page-e07536548216bee4.js"],"MarkdownRenderer"] 4:I[9856,["4765","static/chunks/4765-f5afdf8061f456f3.js","9856","static/chunks/9856-3b185291364d9bef.js","6687","static/chunks/app/docs/%5B...slug%5D/page-e07536548216bee4.js"],""] 5:I[4126,[],""] 7:I[9630,[],""] 8:I[4278,["9856","static/chunks/9856-3b185291364d9bef.js","8172","static/chunks/8172-b3a2d6fe4ae10d40.js","3185","static/chunks/app/layout-2814fa5d15b84fe4.js"],"HeadingProvider"] 9:I[1476,["9856","static/chunks/9856-3b185291364d9bef.js","8172","static/chunks/8172-b3a2d6fe4ae10d40.js","3185","static/chunks/app/layout-2814fa5d15b84fe4.js"],"Header"] a:I[3167,["9856","static/chunks/9856-3b185291364d9bef.js","8172","static/chunks/8172-b3a2d6fe4ae10d40.js","3185","static/chunks/app/layout-2814fa5d15b84fe4.js"],"Sidebar"] b:I[7409,["9856","static/chunks/9856-3b185291364d9bef.js","8172","static/chunks/8172-b3a2d6fe4ae10d40.js","3185","static/chunks/app/layout-2814fa5d15b84fe4.js"],"PageFrame"] 3:T316f, # API Routes Reference **Generated:** 2025-11-27 12:24:10 UTC **App:** VoiceAssist API Gateway **Version:** 0.1.0 --- ## Summary - **Total Routes:** 98 - **Total Tags/Modules:** 9 ### Tags Overview | Tag | Routes | Description | | -------------- | ------ | ------------------------------------ | | admin | 21 | | | authentication | 8 | | | conversations | 16 | Chat sessions and branching | | health | 4 | Service health and readiness checks | | integrations | 10 | Nextcloud and external services | | observability | 1 | | | untagged | 22 | | | users | 11 | User profile and management | | voice | 5 | Voice input/output and transcription | --- ## Routes by Tag ### Admin | Method | Path | Summary | Auth | | -------- | --------------------------------------------- | ------------------------ | ---- | | `POST` | `/api/admin/cache/clear` | Clear Cache | Yes | | `POST` | `/api/admin/cache/invalidate` | Invalidate Cache Pattern | Yes | | `GET` | `/api/admin/cache/stats` | Get Cache Stats | Yes | | `GET` | `/api/admin/feature-flags` | List Feature Flags | Yes | | `POST` | `/api/admin/feature-flags` | Create Feature Flag | Yes | | `DELETE` | `/api/admin/feature-flags/{flag_name}` | Delete Feature Flag | Yes | | `GET` | `/api/admin/feature-flags/{flag_name}` | Get Feature Flag | Yes | | `PATCH` | `/api/admin/feature-flags/{flag_name}` | Update Feature Flag | Yes | | `POST` | `/api/admin/feature-flags/{flag_name}/toggle` | Toggle Feature Flag | Yes | | `GET` | `/api/admin/kb/documents` | List Documents | Yes | | `POST` | `/api/admin/kb/documents` | Upload Document | Yes | | `DELETE` | `/api/admin/kb/documents/{document_id}` | Delete Document | Yes | | `GET` | `/api/admin/kb/documents/{document_id}` | Get Document | Yes | | `GET` | `/api/admin/panel/audit-logs` | Get Audit Logs | Yes | | `GET` | `/api/admin/panel/metrics` | Get System Metrics | Yes | | `GET` | `/api/admin/panel/summary` | Get System Summary | Yes | | `GET` | `/api/admin/panel/users` | List Users | Yes | | `DELETE` | `/api/admin/panel/users/{user_id}` | Delete User | Yes | | `GET` | `/api/admin/panel/users/{user_id}` | Get User | Yes | | `PUT` | `/api/admin/panel/users/{user_id}` | Update User | Yes | | `GET` | `/api/admin/panel/websocket-status` | Get Websocket Status | Yes | ### Authentication | Method | Path | Summary | Auth | | ------ | -------------------------------------- | --------------------- | ---- | | `POST` | `/api/auth/login` | Login | No | | `POST` | `/api/auth/logout` | Logout | Yes | | `GET` | `/api/auth/me` | Get Current User Info | Yes | | `GET` | `/api/auth/oauth/{provider}/authorize` | Oauth Authorize | No | | `POST` | `/api/auth/oauth/{provider}/callback` | Oauth Callback | No | | `GET` | `/api/auth/oauth/{provider}/status` | Oauth Provider Status | No | | `POST` | `/api/auth/refresh` | Refresh Token | No | | `POST` | `/api/auth/register` | Register | No | ### Conversations | Method | Path | Summary | Auth | | -------- | --------------------------------------------------------------- | ---------------------------- | ---- | | `GET` | `/api/conversations` | List Conversations | Yes | | `POST` | `/api/conversations` | Create Conversation | Yes | | `DELETE` | `/api/conversations/{conversation_id}` | Delete Conversation | Yes | | `GET` | `/api/conversations/{conversation_id}` | Get Conversation | Yes | | `PATCH` | `/api/conversations/{conversation_id}` | Update Conversation | Yes | | `GET` | `/api/conversations/{conversation_id}/events` | Get Conversation Events | Yes | | `GET` | `/api/conversations/{conversation_id}/messages` | Get Messages | Yes | | `POST` | `/api/conversations/{conversation_id}/messages` | Create Message | Yes | | `DELETE` | `/api/conversations/{conversation_id}/messages/{message_id}` | Delete Message | Yes | | `PATCH` | `/api/conversations/{conversation_id}/messages/{message_id}` | Edit Message | Yes | | `GET` | `/api/conversations/{conversation_id}/settings` | Get Conversation Settings | Yes | | `PATCH` | `/api/conversations/{conversation_id}/settings` | Patch Conversation Settings | Yes | | `PUT` | `/api/conversations/{conversation_id}/settings` | Update Conversation Settings | Yes | | `GET` | `/api/conversations/{session_id}/branches` | List Branches | Yes | | `POST` | `/api/conversations/{session_id}/branches` | Create Branch | Yes | | `GET` | `/api/conversations/{session_id}/branches/{branch_id}/messages` | Get Branch Messages | Yes | ### Health | Method | Path | Summary | Auth | | ------ | ------------------ | --------------------- | ---- | | `GET` | `/health` | Health Check | No | | `GET` | `/health/detailed` | Detailed Health Check | No | | `GET` | `/health/openai` | Openai Health Check | No | | `GET` | `/ready` | Readiness Check | No | ### Integrations | Method | Path | Summary | Auth | | -------- | ----------------------------------------------- | -------------------- | ---- | | `GET` | `/api/integrations/calendar/calendars` | List Calendars | Yes | | `GET` | `/api/integrations/calendar/events` | List Events | Yes | | `POST` | `/api/integrations/calendar/events` | Create Event | Yes | | `DELETE` | `/api/integrations/calendar/events/{event_uid}` | Delete Event | Yes | | `PUT` | `/api/integrations/calendar/events/{event_uid}` | Update Event | Yes | | `GET` | `/api/integrations/email/folders` | List Email Folders | Yes | | `GET` | `/api/integrations/email/messages` | List Email Messages | Yes | | `POST` | `/api/integrations/email/send` | Send Email | Yes | | `POST` | `/api/integrations/files/index` | Index Specific File | Yes | | `POST` | `/api/integrations/files/scan-and-index` | Scan And Index Files | Yes | ### Observability | Method | Path | Summary | Auth | | ------ | ---------- | ------------------ | ---- | | `GET` | `/metrics` | Prometheus Metrics | No | ### Untagged | Method | Path | Summary | Auth | | -------- | -------------------------------------------------- | ---------------------------- | ---- | | `DELETE` | `/api/attachments/{attachment_id}` | Delete Attachment | Yes | | `GET` | `/api/attachments/{attachment_id}/download` | Download Attachment | Yes | | `POST` | `/api/clinical-contexts` | Create Clinical Context | Yes | | `GET` | `/api/clinical-contexts/current` | Get Current Clinical Context | Yes | | `DELETE` | `/api/clinical-contexts/{context_id}` | Delete Clinical Context | Yes | | `GET` | `/api/clinical-contexts/{context_id}` | Get Clinical Context | Yes | | `PUT` | `/api/clinical-contexts/{context_id}` | Update Clinical Context | Yes | | `GET` | `/api/folders` | List Folders | Yes | | `POST` | `/api/folders` | Create Folder | Yes | | `GET` | `/api/folders/tree` | Get Folder Tree | Yes | | `DELETE` | `/api/folders/{folder_id}` | Delete Folder | Yes | | `GET` | `/api/folders/{folder_id}` | Get Folder | Yes | | `PUT` | `/api/folders/{folder_id}` | Update Folder | Yes | | `POST` | `/api/folders/{folder_id}/move/{target_folder_id}` | Move Folder | Yes | | `GET` | `/api/messages/{message_id}/attachments` | List Attachments | Yes | | `POST` | `/api/messages/{message_id}/attachments` | Upload Attachment | Yes | | `GET` | `/api/sessions/{session_id}/export/markdown` | Export Markdown | Yes | | `GET` | `/api/sessions/{session_id}/export/pdf` | Export Pdf | Yes | | `POST` | `/api/sessions/{session_id}/share` | Create Share Link | Yes | | `DELETE` | `/api/sessions/{session_id}/share/{share_token}` | Revoke Share Link | Yes | | `GET` | `/api/sessions/{session_id}/shares` | List Share Links | Yes | | `GET` | `/api/shared/{share_token}` | Get Shared Conversation | No | ### Users | Method | Path | Summary | Auth | | -------- | ------------------------------------ | --------------------------- | ---- | | `GET` | `/api/users/` | List Users | Yes | | `DELETE` | `/api/users/me` | Delete Current User Account | Yes | | `GET` | `/api/users/me` | Get Current User Profile | Yes | | `PUT` | `/api/users/me` | Update Current User Profile | Yes | | `POST` | `/api/users/me/change-password` | Change Password | Yes | | `GET` | `/api/users/{user_id}` | Get User By Id | Yes | | `PATCH` | `/api/users/{user_id}` | Update User | Yes | | `PUT` | `/api/users/{user_id}/activate` | Activate User | Yes | | `PUT` | `/api/users/{user_id}/deactivate` | Deactivate User | Yes | | `PUT` | `/api/users/{user_id}/promote-admin` | Promote To Admin | Yes | | `PUT` | `/api/users/{user_id}/revoke-admin` | Revoke Admin Privileges | Yes | ### Voice | Method | Path | Summary | Auth | | ------ | ----------------------------- | ----------------------------------- | ---- | | `POST` | `/api/voice/metrics` | Submit voice session metrics | Yes | | `POST` | `/api/voice/realtime-session` | Create Realtime API session | Yes | | `POST` | `/api/voice/relay` | Relay final voice transcript to RAG | Yes | | `POST` | `/api/voice/synthesize` | Synthesize speech from text | Yes | | `POST` | `/api/voice/transcribe` | Transcribe audio to text | Yes | --- ## Authentication Most endpoints require authentication via Bearer token: ``` Authorization: Bearer ``` Obtain tokens via `/api/auth/login` or `/api/auth/register`. --- ## OpenAPI Specification The complete OpenAPI 3.0 specification is available at: - **Swagger UI:** `/docs` - **ReDoc:** `/redoc` - **OpenAPI JSON:** `/openapi.json` --- _This document is auto-generated from the OpenAPI specification._ _Do not edit manually - regenerate using `tools/generate_api_docs.py`._ 6:["slug","api-reference/API_ROUTES","c"] 0:["X7oMT3VrOffzp0qvbeOas",[[["",{"children":["docs",{"children":[["slug","api-reference/API_ROUTES","c"],{"children":["__PAGE__?{\"slug\":[\"api-reference\",\"API_ROUTES\"]}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["docs",{"children":[["slug","api-reference/API_ROUTES","c"],{"children":["__PAGE__",{},[["$L1",["$","div",null,{"children":[["$","div",null,{"className":"mb-6 flex items-center justify-between gap-4","children":[["$","div",null,{"children":[["$","p",null,{"className":"text-sm text-gray-500 dark:text-gray-400","children":"Docs / Raw"}],["$","h1",null,{"className":"text-3xl font-bold text-gray-900 dark:text-white","children":"API Routes Reference"}],["$","p",null,{"className":"text-sm text-gray-600 dark:text-gray-400","children":["Sourced from"," ",["$","code",null,{"className":"font-mono text-xs","children":["docs/","api-reference/API_ROUTES.md"]}]]}]]}],["$","a",null,{"href":"https://github.com/mohammednazmy/VoiceAssist/edit/main/docs/api-reference/API_ROUTES.md","target":"_blank","rel":"noreferrer","className":"inline-flex items-center gap-2 rounded-md border border-gray-200 dark:border-gray-700 px-3 py-1.5 text-sm text-gray-700 dark:text-gray-200 hover:border-primary-500 dark:hover:border-primary-400 hover:text-primary-700 dark:hover:text-primary-300","children":"Edit on GitHub"}]]}],["$","div",null,{"className":"rounded-lg border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-900 p-6","children":["$","$L2",null,{"content":"$3"}]}],["$","div",null,{"className":"mt-6 flex flex-wrap gap-2 text-sm","children":[["$","$L4",null,{"href":"/reference/all-docs","className":"inline-flex items-center gap-1 rounded-md bg-gray-100 px-3 py-1 text-gray-700 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700","children":"← All documentation"}],["$","$L4",null,{"href":"/","className":"inline-flex items-center gap-1 rounded-md bg-gray-100 px-3 py-1 text-gray-700 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700","children":"Home"}]]}]]}],null],null],null]},[null,["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","docs","children","$6","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","docs","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7f586cdbbaa33ff7.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","className":"h-full","children":["$","body",null,{"className":"__className_f367f3 h-full bg-white dark:bg-gray-900","children":[["$","a",null,{"href":"#main-content","className":"skip-to-content","children":"Skip to main content"}],["$","$L8",null,{"children":[["$","$L9",null,{}],["$","$La",null,{}],["$","main",null,{"id":"main-content","className":"lg:pl-64","role":"main","aria-label":"Documentation content","children":["$","$Lb",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]]}]]}]}]],null],null],["$Lc",null]]]] c:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"API Routes Reference | Docs | VoiceAssist Docs"}],["$","meta","3",{"name":"description","content":"Auto-generated route listing from OpenAPI specification."}],["$","meta","4",{"name":"keywords","content":"VoiceAssist,documentation,medical AI,voice assistant,healthcare,HIPAA,API"}],["$","meta","5",{"name":"robots","content":"index, follow"}],["$","meta","6",{"name":"googlebot","content":"index, follow"}],["$","link","7",{"rel":"canonical","href":"https://assistdocs.asimo.io"}],["$","meta","8",{"property":"og:title","content":"VoiceAssist Documentation"}],["$","meta","9",{"property":"og:description","content":"Comprehensive documentation for VoiceAssist - Enterprise Medical AI Assistant"}],["$","meta","10",{"property":"og:url","content":"https://assistdocs.asimo.io"}],["$","meta","11",{"property":"og:site_name","content":"VoiceAssist Docs"}],["$","meta","12",{"property":"og:type","content":"website"}],["$","meta","13",{"name":"twitter:card","content":"summary"}],["$","meta","14",{"name":"twitter:title","content":"VoiceAssist Documentation"}],["$","meta","15",{"name":"twitter:description","content":"Comprehensive documentation for VoiceAssist - Enterprise Medical AI Assistant"}],["$","meta","16",{"name":"next-size-adjust"}]] 1:null