Integrate VoxChart into your .NET Core application. Send audio, receive structured SOAP notes. API key authentication, CORS-enabled, JSON responses.
Three steps to get your first transcription:
Go to the Test Console to see your API key, or generate one via the management endpoint.
All API calls require an API key passed via header:
| Header | Value | Notes |
|---|---|---|
| X-API-Key | Your API key (e.g., vx_abc123...) |
Required |
| Authorization | Bearer <your-api-key> | Alternative |
Both header formats work. Choose whichever fits your .NET HttpClient setup.
Upload an audio file and receive a structured SOAP note. This is the primary endpoint for integration.
| Field | Type | Description |
|---|---|---|
| audio | File | Required — WAV, MP3, WebM, or M4A. Max 25MB. |
| note_type | String | Optional — "note" (default) for clinical notes with MM/DD/YYYY dates, or "letter" for correspondence with spelled-out dates. |
| Field | Type | Description |
|---|---|---|
| data.formatted_note | String (HTML) | SOAP note with <b> headings. Ready to insert into rich text editors. |
| data.plain_text | String | Plain text version with ALL CAPS headings. For text fields or emails. |
| data.raw_transcript | String | Unprocessed Whisper transcription of the audio. |
| data.summary | String | One-sentence clinical summary of the encounter. |
| data.metadata | Object | note_type, date, audio_filename, audio_size_bytes, processing_time_seconds |
List recent transcriptions for your API key. Useful for building history views.
| Param | Type | Description |
|---|---|---|
| limit | Number | Optional — Max results (1-100, default 20) |
Get full details of a specific transcription including all text versions.
Generate a new API key. Requires admin secret via X-Admin-Secret header or admin_secret in body.
| Field | Type | Description |
|---|---|---|
| name | String | Optional — Label for the key (e.g., "Production") |
| admin_secret | String | Required — Admin authentication |
List all API keys with usage statistics. Requires X-Admin-Secret header.
Deactivate an API key. The key stops working immediately. Requires X-Admin-Secret header.
All notes follow the standard SOAP format with physician-required formatting:
Key formatting rules:
• All section headings wrapped in <b> tags
• Text starts on the line after the heading
• Blank line between each major section
• Clinical note dates: MM/DD/YYYY — Letter dates: spelled out (e.g., 27 February, 2026)
| Status | Error | Meaning |
|---|---|---|
| 400 | Audio file required | No file attached to the request |
| 400 | Unsupported audio format | File is not WAV, MP3, WebM, or M4A |
| 400 | File too large | File exceeds 25MB Whisper limit |
| 401 | API key required | No X-API-Key or Authorization header |
| 403 | Invalid or inactive API key | Key doesn't exist or was deactivated |
| 422 | No speech detected | Audio file contains no recognizable speech |
| 500 | Transcription processing failed | Server error during Whisper or GPT processing |
File size: 25MB max per request (Whisper API limit)
Audio formats: WAV, MP3, WebM, M4A, OGG
Processing time: Typically 5-15 seconds depending on audio length
CORS: Enabled for all origins (Access-Control-Allow-Origin: *)
Base URL: https://voxchart.polsia.app