Docs / Raw

API Reference

Sourced from docs/API_REFERENCE.md

Edit on GitHub

API Reference

Last Updated: 2025-12-02

The VoiceAssist API provides comprehensive REST endpoints for building medical AI assistant applications.

Documentation

  • Complete REST API Reference - Full endpoint documentation with examples
  • OpenAPI/Swagger UI - Interactive docs at http://localhost:8000/docs
  • ReDoc - Alternative docs at http://localhost:8000/redoc

Quick Reference

Base URLs

  • Production: https://assist.asimo.io
  • Development: http://localhost:8000

Authentication

All authenticated endpoints require a Bearer token:

Authorization: Bearer <access_token>

Core Endpoint Groups

GroupPrefixDescriptionModule
Authentication/api/authLogin, register, token managementauth.py
OAuth/api/auth/oauthOAuth2 provider integrationauth_oauth.py
Users/api/usersUser profile and admin operationsusers.py
Conversations/conversationsChat sessions and branchingconversations.py
Folders/api/foldersConversation organizationfolders.py
Attachments/api/attachmentsFile attachmentsattachments.py
Export/api/exportConversation/data exportexport.py
Sharing/api/sharingShare conversationssharing.py
Voice/api/voiceVoice session managementvoice.py
Voice Pipeline/api/voice/pipeline-wsThinker-Talker WebSocket (Primary)voice.py (T/T handler)
Real-time/api/realtimeWebSocket connectionsrealtime.py
Medical AI/api/medicalMedical queries and RAGmedical_ai.py
External Med/api/external-medicalExternal medical APIsexternal_medical.py
Clinical/api/clinicalClinical contextclinical_context.py
Advanced Search/api/searchAdvanced search featuresadvanced_search.py
Integrations/api/integrationsThird-party integrationsintegrations.py
Admin Panel/api/admin/panelDashboard, metrics, audit logsadmin_panel.py
Knowledge Base/api/admin/kbDocument managementadmin_kb.py
Cache/api/admin/cacheCache statistics and controladmin_cache.py
Feature Flags/api/admin/feature-flagsFeature toggle managementadmin_feature_flags.py
Health/health, /readyService health checkshealth.py
Metrics/metricsPrometheus metricsmetrics.py

OpenAPI Specification

  • Swagger UI: http://localhost:8000/docs (interactive API explorer)
  • ReDoc: http://localhost:8000/redoc (alternative documentation)
  • OpenAPI JSON: http://localhost:8000/openapi.json (downloadable spec)

For complete documentation with request/response examples, see api-reference/rest-api.md.

Documentation Coverage Status

As of 2025-12-02, API documentation coverage:

MetricCountNotes
Total Endpoints310Backend route definitions
Documented39In rest-api.md with examples
Undocumented271Exist in code, need documentation

Priority endpoints to document:

  1. Core voice endpoints (/api/voice/*) - Most user-facing
  2. Authentication 2FA (/api/auth/2fa/*) - Security-critical
  3. Admin panel endpoints (/api/admin/panel/*) - Ops-critical
  4. Integration endpoints (/api/integrations/*) - Feature expansion

Run pnpm validate:api-sync in apps/docs-site/ to regenerate coverage stats.


Documentation API (For AI Agents)

The docs site provides machine-readable JSON endpoints for AI agents:

Static JSON Endpoints

EndpointDescription
GET /agent/index.jsonDocumentation system metadata
GET /agent/docs.jsonFull document list with metadata
GET /agent/tasks.jsonCommon agent tasks with commands
GET /agent/schema.jsonJSON Schema for API response types
GET /search-index.jsonFull-text search index (Fuse.js format)

Base URL: https://assistdocs.asimo.io

Note: All endpoints are static JSON. Use search-index.json with client-side Fuse.js for full-text search.

AI-Docs Semantic Search (Qdrant)

For semantic/vector search, documentation is embedded into Qdrant:

PropertyValue
Collectionplatform_docs
Embedding Modeltext-embedding-3-small
Dimensions1536
Distance MetricCosine

Tool Functions (for AI agents):

# Semantic search across documentation docs_search(query: str, category: str = None, max_results: int = 5) # Retrieve full section content docs_get_section(doc_path: str, section: str = None)

Re-indexing Documentation:

python scripts/embed-docs.py # Incremental update python scripts/embed-docs.py --force # Force re-index all

For full details, see:

Beginning of guide
End of guide