openapi: 3.1.0 info: title: Nabla Core Authentication Transcription API description: 'Nabla provides ambient AI for clinicians. The Core API supports transcription (synchronous, asynchronous, and WebSocket) of medical encounters. The Server API issues OAuth 2.0 access tokens via JWT client credentials, and the User API exchanges per-user JWT tokens so that client applications can call the Core API on behalf of a Copilot user. ' version: '1.0' servers: - url: https://api.nabla.com description: Nabla production API security: - bearerAuth: [] tags: - name: Transcription description: Medical-grade speech-to-text endpoints. paths: /server/transcribe: post: tags: - Transcription summary: Transcribe a short audio file (synchronous) description: 'Synchronous transcription of recorded audio up to 10 minutes in length. Returns the transcript inline. ' operationId: serverTranscribe requestBody: required: true content: multipart/form-data: schema: type: object required: - audio properties: audio: type: string format: binary language: type: string responses: '200': description: Transcript payload. content: application/json: schema: type: object /server/transcribe-async: post: tags: - Transcription summary: Submit an audio file for asynchronous transcription description: 'Submit recorded audio (up to 60 minutes) for asynchronous transcription. Results are delivered via callback or polled by identifier. ' operationId: serverTranscribeAsync requestBody: required: true content: multipart/form-data: schema: type: object required: - audio properties: audio: type: string format: binary callback_url: type: string format: uri language: type: string responses: '202': description: Transcription job accepted. content: application/json: schema: type: object properties: job_id: type: string components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 access token (Server API) or JWT access token (User API).