openapi: 3.1.0 info: title: Heidi Health Ask Heidi Session Context API version: v2 summary: Public Heidi REST API for ambient AI medical scribe, transcription, consult notes, documents, clinical coding, and Ask Heidi. description: 'The Heidi API lets partner platforms (EHRs, telehealth apps, custom clinician tools) drive Heidi''s ambient documentation engine end-to-end: authentication via tenant API key + per-user JWT, patient profile management, session lifecycle (create, update, list, retrieve), contextual attachments and linked sessions, audio upload (single file or chunked live), transcript retrieval (final or live-chunked), template discovery, streamed consult-note and document generation against Heidi or custom templates, multi-standard clinical coding (ICD-10/SNOMED/CPT and others), and streamed Ask Heidi assistant responses. Documentation: https://www.heidihealth.com/developers/heidi-api/overview ' contact: name: Heidi Health Support url: https://support.heidihealth.com license: name: Heidi Health Terms of Service url: https://www.heidihealth.com/legal/terms-of-service servers: - url: https://registrar.api.heidihealth.com/api/v2/ml-scribe/open-api description: Production security: - bearerAuth: [] tags: - name: Session Context description: Notes, linked sessions, and context document attachments. paths: /sessions/{session_id}/context-documents: post: tags: - Session Context summary: Upload Context Document operationId: uploadContextDocument parameters: - $ref: '#/components/parameters/SessionId' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary unstructured: type: boolean responses: '200': description: Document uploaded. content: application/json: schema: $ref: '#/components/schemas/ContextDocument' get: tags: - Session Context summary: List Context Documents operationId: listContextDocuments parameters: - $ref: '#/components/parameters/SessionId' responses: '200': description: Context documents. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ContextDocument' delete: tags: - Session Context summary: Delete Context Documents operationId: deleteContextDocuments parameters: - $ref: '#/components/parameters/SessionId' - in: query name: ids required: true schema: type: array items: type: string responses: '204': description: Deleted. components: parameters: SessionId: in: path name: session_id required: true schema: type: string schemas: ContextDocument: type: object properties: id: type: string filename: type: string uploaded_at: type: string format: date-time status: type: string enum: - PARSING - READY unstructured: type: boolean securitySchemes: heidiApiKey: type: apiKey in: header name: Heidi-Api-Key bearerAuth: type: http scheme: bearer bearerFormat: JWT