Skip to main content

EkaScribe API Overview

The EkaScribe API provides a powerful set of REST endpoints for converting voice recordings into structured medical documentation. This API is designed to be easy to integrate into your applications, allowing you to leverage advanced voice recognition and medical transcription technologies.

🎯 What You’ll Build

With the EkaScribe API, you can:
  • Upload audio recordings securely to the cloud
  • Convert voice data into structured medical notes
  • Support multiple languages and medical templates
  • Track transcription status in real-time
  • Receive webhook notifications when transcription completes

πŸ” Authentication

All API requests require authentication using your API key. Include it in the request headers:
Authorization: Bearer YOUR_API_KEY
Don’t have an API key? Contact the Eka Care team to get started.

πŸ“‹ API Flow Overview

The EkaScribe API follows a 4-step process from audio upload to receiving structured results: 1. πŸ”‘ Get Presigned URL
Request secure upload credentials for your audio file
2. ⬆️ Upload Audio File
Upload your audio file using the presigned URL to cloud storage
3. πŸš€ Initialize Transcription
Start the AI processing to convert audio into medical documentation
4. πŸ“„ Fetch Results
Retrieve the structured medical notes once processing is complete

Complete API Workflow

Each transcription flow is tracked using a unique transaction_id (txn_id), allowing you to monitor the status of your transcriptions.

πŸ”„ Step-by-Step API Process

Step 1: Get Presigned URL πŸ”‘

Endpoint: POST /v1/file-upload Generate a secure presigned URL for uploading audio files to cloud storage.
  • Purpose: Obtain secure upload credentials
  • Input: Transaction ID (txn_id) and action type
  • Output: Presigned URL with authentication fields
  • Documentation: Get Presigned URL API β†’
Key Points:
  • Each txn_id uniquely identifies your transcription session
  • The presigned URL is temporary and expires after a set time
  • Use action type: ekascribe-v2

Step 2: Upload Audio File ⬆️

Using the presigned URL from Step 1, upload your audio file(s) to the cloud.
  • Purpose: Securely upload audio files to cloud storage
  • Input: Audio file(s) + presigned URL response from Step 1
  • Output: Upload confirmation with file metadata
  • Documentation: File Upload Guide β†’
Key Points:
  • Upload directly to S3 using the presigned URL
  • Multiple files can be uploaded for a single session
  • Each file is associated with the same txn_id

Step 3: Initialize Transcription πŸš€

Endpoint: POST /voice/api/v2/transaction/init/{txn_id} Start the AI transcription process for your uploaded audio files.
  • Purpose: Begin processing audio into structured medical documentation
  • Input: Transaction ID + template selection + language preference
  • Output: Transcription job initialization confirmation
  • Documentation: Initialize Transcription API β†’
Configure Your Transcription:
  • Template ID: Choose your output format
    • clinical_notes_template - Comprehensive clinical notes
    • eka_emr_template - EMR-compatible format
    • transcript_template - Basic transcription
  • Model Type: Select accuracy vs. speed
    • pro - Highest accuracy (recommended)
    • lite - Faster processing, lower latency
  • Input Language: Support for 10+ languages including English, Hindi, Tamil, Telugu, Gujarati, and more

Step 4: Fetch Transcription Results πŸ“„

Endpoint: GET /voice/api/v3/status/{txn_id} Retrieve the structured medical documentation once transcription is complete.
  • Purpose: Get the final structured medical notes
  • Input: Transaction ID (txn_id)
  • Output: Structured medical documentation in your chosen template format
  • Documentation: Get Results API β†’
Response Status Codes:
  • 200 - Success: All templates processed successfully
  • 202 - Accepted: Transcription still in progress
  • 206 - Partial Content: Some templates succeeded, others failed
  • 400 - Bad Request: Invalid transaction ID
  • 500 - Internal Server Error: Processing failed
Key Points:
  • Poll this endpoint to check transcription status
  • Alternatively, use webhooks for automatic notifications
  • Results include structured medical data in your chosen template

πŸ”” Optional: Webhook Notifications

Instead of polling the results endpoint, you can register a webhook to receive automatic notifications when transcription completes. Setup: Register Webhook β†’ Sample Webhook Payload:
{
  "event": "v2rx.completed",
  "data": {
    "transaction_id": "txn_301",
    "status": "completed",
    "session_id": "session_123456"
  },
  "timestamp": "2025-10-08T10:30:00Z"
}

API EndpointDescriptionDocumentation
Get Presigned URLGenerate secure upload credentialsView Docs β†’
Upload AudioUpload audio files to cloud storageView Docs β†’
Initialize TranscriptionStart the transcription processView Docs β†’
Get ResultsRetrieve structured medical notesView Docs β†’

❓ Need Help?